嗨我有一個使用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