Krz*_*mic 9 sql-server installer wix
如何检测是否在WiX安装程序中的计算机上安装并运行了Sql Server Express?
我想在安装我的应用程序之前进行检查,如果它没有安装并运行,请在安装我的应用程序之前通知用户必须先安装它.
Krz*_*mic 11
好的,我发现通过试错法选项有效:
<Property Id="SQLSERVER">
<RegistrySearch Id="SQLServer" Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft Sql Server" Type="raw" Name="InstalledInstances"/>
</Property>
Run Code Online (Sandbox Code Playgroud)
我定义了一个注册表搜索,然后检查它的值:
<Condition Message="You don't have SQL Server installed.">
<![CDATA[SQLSERVER >< SQLEXPRESS]]>
</Condition>
Run Code Online (Sandbox Code Playgroud)
我试图克日什托夫的解决方案(上) -但在某些机器上使用这种方法将无法正确检测时,他们却在没有安装的SQL Express.
它看起来是由错误处理REG_MULTI_SZ InstalledInstances注册表值引起的?
当我检查是否需要在安装程序中停止/重新启动Sql Server Express服务时,我决定只是检查 - 所以这是我的替代方案,我只是检查服务:
<Property Id="SQLEXPRESSINSTALLED" >
<RegistrySearch Id="IsSqlExpressServiceInstalled" Root="HKLM" Key="SYSTEM\CurrentControlSet\services\MSSQL$SQLEXPRESS" Name="Description" Type="raw" Win64="no"/>
</Property>
<Condition Message="Express Not Installed">SQLEXPRESSINSTALLED</Condition>
<Condition Message="Express Installed">NOT SQLEXPRESSINSTALLED</Condition>
Run Code Online (Sandbox Code Playgroud)
有点破解,但似乎对我们的客户来说运行得很好(使用组件内的条件,而不是上面显示的示例启动条件)
归档时间: |
|
查看次数: |
8382 次 |
最近记录: |