我开发了一些需要安装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,但没有帮助。
答案 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;
}