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

标签 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 位?

一般采用哪种方法?

有什么线索、文章等吗?

谢谢!!

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

最佳答案

只需将所有必需的文件包含在您的应用程序中,它就可以在 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;
    }

关于c# - 如何检测是否安装了SQL Server CE 4.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534158/

相关文章:

c# - 在 C# 项目的 Visual Studio 中,要中断的异常列表存储在哪里?

asp.net-mvc-3 - Windows 7(或更高版本)上 Web 应用程序的自动安装程序

database - Windows Phone 7 Mango - 本地数据库 - SQL CE 4.0

sql-server-ce-4 - 如何打开 SQL CE4 .sdf 数据库文件?

.net - 无法加载具有固定名称 'System.Data.SqlServerCe.4.0' 的 ADO.NET 提供程序

c# - 在链表 C#.NET 中移动项目

c# - 具有泛型类声明的命名空间约束

c# - LibGit2Sharp 查找 pull 后更新/添加/删除的文件

installation - 如何使用 Inno Setup 安装程序升级 MSI 安装?

wix - 在 Wix 中设置组件条件