如何检测是否安装了SQL Server CE 4.0

时间:2012-05-10 12:36:51

标签: c# windows-installer sql-server-ce-4

我开发了一些需要安装SQL Server CE 4.0的应用程序。

我在Windows 7 64位下完成所有工作,因此我安装了64位SQL Server CE 4.0。

如何在启动应用程序/或安装程序时检查是否安装了SQL Server CE 4.0 32位/ 64位?

一般来说哪种方法?

任何线索,文章等?

谢谢!

P.S。我读了这个链接How can InstallShield check if SQL Server 2005 (3.1) Compact Edition (CE) is installed,但没有帮助。

1 个答案:

答案 0 :(得分:4)

只需在您的应用中包含所有必需的文件,它就可以在x86和x64上运行 - 请参阅我的博客文章:http://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with.html

您还可以使用下面的代码来检测您的应用是否可以使用运行时,但如果您实施上述内容则不需要:

        public bool IsV40Installed()
    {
        try
        {
            System.Reflection.Assembly.Load("System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91");
        }
        catch (System.IO.FileNotFoundException)
        {
            return false;
        }
        try
        {
            var factory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0");
        }
        catch (System.Configuration.ConfigurationException)
        {
            return false;
        }
        catch (System.ArgumentException)
        {
            return false;
        }
        return true;
    }