我有一個需要在IIS6和IIS7上支持的設置。現在即時通訊使用內置的IIS擴展名IIS6像這樣:有條件的安裝功能在Wix中不起作用
<Component Id="C_IISApplication" Guid="{9099909C-B770-4df2-BE08-E069A718B938}" >
<iis:WebSite Id='TSIWSWebSite' Description='TSWeb' SiteId='*' Directory='INSTALLDIR'>
<iis:WebAddress Id='tcpAddress' Port='8081' />
</iis:WebSite>
<iis:WebAppPool Id="BlahWSApplicationPool" Name="Blah" />
<iis:WebVirtualDir Id="VirtualDir"
Alias="Blah"
Directory="INSTALLDIR"
WebSite="BlahWSWebSite"
DirProperties="WebVirtualDirProperties">
<iis:WebApplication Id="WebApplication"
Name="Blah"
WebAppPool="BlahWSApplicationPool"/>
</iis:WebVirtualDir>
</Component>
我在功能嘗試了條件,像這樣:
<Feature Title="IIS6" Id="IIS6" Description="IIS6" ConfigurableDirectory="INSTALLDIR" Level="1" Absent="disallow" Display="hidden">
<ComponentRef Id="C_IISApplication" />
<Condition Level="0"><![CDATA[IISVERSION <> '#6']]></Condition>
</Feature>
不管是什麼我條件的值,元數據庫東西得到執行,並在IIS7系統上出現錯誤。
我也曾嘗試把在組件的條件和沒有工作要麼。
有什麼錯我的使用情況?
是的,我檢查是否IISVERSION是通過在檢索值之後創建條件消息來設置,並且它確實返回#6或#7。 我也同意設置級別= 1和條件=#6,因爲它更易於閱讀...它實際上我做了什麼orginally但我一直在嘗試不同的組合,試圖讓病情不安裝該功能。 – Damien 2010-06-16 04:30:41
我做了一些更多的測試,並從該功能中刪除了Display =「hidden」屬性。 我現在可以看到該功能在IIS7機器上的功能對話框中不可見,並且在IIS6機器上可見。所以我不明白爲什麼它執行配置數據庫事務,如果沒有安裝組件,不能找到IIS機器。 如果沒有安裝相應的組件,我會認爲IIS架構中的自定義操作都將被跳過。 – Damien 2010-06-16 05:09:26