如何在WIX数据库安装程序中检查SQL Server数据库版本



我有一个数据库安装程序WIX工具,我想检查系统上是否安装了SQL Server 2008 R2,如果未安装,我想显示一条要安装的消息。如何使用 WIX 工具?这是我的代码

<Property Id="SQLSERVER">
      <RegistrySearch Id="SQLServer" Root="HKLM" Key="C:Program Files (x86)Microsoft SQL Server" Type="raw" Win64="yes" Name="InstalledInstances"/>      
    </Property>    
    <Condition Message="You don't have SQL Server 2008 R2 installed.Please Install SQL Server 2008 R2">
      <![CDATA[SQLSERVER >< MSSQL10_50.SQLSERVER2008R2]]>
    </Condition>

我已经在产品.wxs中添加了此代码

有一个 64 位版本,当我运行安装程序时,我总是收到未安装 SQL Server 2008 R2 的消息。请让我知道以完成此任务。

我不确定为什么您的注册表项设置为 C:\ 中的文件路径但这个答案是:

如何通过注册表查找 SQL Server 实例的版本和版本

表示您应该查看:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion

如果您期望 64 位版本,请在搜索中使用 Win64='yes'(但为什么您的路径是 x86?如果版本的格式在属性比较中不起作用,则需要自定义操作代码来分析它。链接中答案的正确方法是直接使用 serverproperty 询问 SQL,这也需要代码,但可能比注册表更可靠。您也可能无法坚持使用特定版本的 SQL,因为客户使用适合他们的版本,因此更有用的搜索可能是至少使用 Server 2008 R2。

最新更新