我有一个数据库安装程序WIX工具,我想检查系统上是否安装了SQL Server2008 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>
我在product.wxs中添加了以下代码
我有一个64位版本,当我运行安装程序时,我总是收到SQL Server2008 R2没有安装的消息。为了完成这项任务,请让我知道。
发布于 2015-03-09 02:04:02
我不确定为什么您的注册表项设置为C:\中的文件路径,但此答案如下:
how to find the version and edition of sql server instance via registry
指示您应查看以下内容:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion
如果你期望的是64位版本,那么在搜索中使用win64=‘yes’(但为什么你的路径是x86?)如果版本的格式在属性比较中不起作用,你将需要自定义的动作代码来解析它。链接中的正确方法是直接使用serverproperty来询问SQL,这也需要代码,但可能比注册表更可靠。你也可能不能坚持使用特定版本的SQL,因为客户使用适合他们的版本,所以更有用的搜索可能是至少使用Server2008 R2。
https://stackoverflow.com/questions/28924584
复制相似问题