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

Dev*_*per 4 c# windows-installer sql-server-ce-4

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

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

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

一般采用哪种方法?

任何线索,文章等?

谢谢!!

PS 我读了这个链接如何 InstallShield 检查是否安装了 SQL Server 2005 (3.1) Compact Edition (CE)但它没有帮助。

Eri*_*kEJ 5

只需在您的应用程序中包含所有必需的文件,它就可以在 x86 和 x64 上运行 - 请参阅我的博客文章:http : //erikej.blogspot.com/2011/02/using-sql-server-compact-40-与.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;
    }
Run Code Online (Sandbox Code Playgroud)