我已经编写了使用SQL CE 3.5的VB.NET应用程序。我很好奇是否有人有最佳实践或代码来帮助检查A)是否安装了SQL CE,B)是否安装了什么版本。
我在msdn和google中搜索了任何内容,但没有发现任何帮助。我在注册表中闲逛,发现此注册表项:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server Compact Edition \ v3.5,字符串值为“Version”,数据为3.5.5692.0。
因此,我的假设是立即检查此密钥的存在,但是它困扰着我,因为“ 3.5”密钥肯定听起来像是它与3.5 DLL绑定在一起。我要说的是,如果有人拥有SQL CE(在此处插入某些将来的CE版本),我不愿意强迫他们安装SQL 3.5。
其他信息:目标框架:.NET 2.0最低目标操作系统:Windows XP SP2
广泛接受的方法是检查产品标识符(GUID),该标识符由MSI安装程序保存在注册表中。如果您没有安装有问题的产品,则可以使用称为Orca(Windows SDK的一部分)的工具打开MSI,然后以这种方式获取GUID。大多数(如果不是全部)安装构建器具有可以作为预需求测试的一部分执行的操作或任务,即使VS2005 / 2008也具有此功能。
要检查版本,我会在注册表中再次浏览,或者查看文件版本。