嗨我有一个使用WiX构建的MSI,它试图指定仅在安装IIS时满足的启动条件。此情况在WS2008 x64上无法正常工作。它适用于我的Windows 7 x64机器。WIX MSI,具有预先请求IIS的启动条件,在WS2008上失败
属性:
<!-- This is used later in a Launch condition. -->
<!-- see http://learn.iis.net/page.aspx/135/discover-installed-components/ -->
<Property Id="IIS7" Value="#0">
<RegistrySearch Id="IIS7W3SVC"
Type="raw"
Root="HKLM"
Key="SOFTWARE\Microsoft\InetStp\Components"
Name="W3SVC" />
</Property>
条件:
<Condition Message="Cannot install. You must install IIS before installing this product.">
NOT IIS56 = "#0" OR NOT IIS7 = "#0"
</Condition>
(有也是IIS6的属性,但应该是这里无关紧要)。
用户正在报告他看到此“无法安装”消息。他还表示IIS已安装并正在运行。
WS2008是否具有IIS存在的不同注册表项?
什么是确定IIS是否存在的首选机制?
这是WIX 3.5。不确定确切的WS2008版本。
它可能类似于the issue described here。这个问题没有解决。
想法?
+1。 @Cheeso,你正在用这种方法重新发明轮子。 – 2011-04-21 07:55:07
我从某个地方的wix bboard帖子中获得了该方法。它工作了一段时间。 – Cheeso 2011-04-25 20:36:03
正如一个侧面说明。当我删除IIS角色时,我仍然得到ISSMajorversion,因此它不是100%保存以检查是否安装了IIS。 – uli78 2013-05-03 11:44:43