我很努力地使用wix 3.6.3303.1/4.0.12.0將基於com的isapi dll全局安裝到iis 7.5中。如何使用wix安裝全局isapi過濾器? (IIS 7.5)
我有以下WiX的配置(full config here):用IIS7.5在Windows 7 32位運行時
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="IsapiDll" Guid="ADD-GUID-HERE">
<File Id="isapidll" Name="isapi.dll" Source="isapi.dll" />
</Component>
<Component Id="IisFilter" Guid="ADD-GUID-HERE">
<CreateFolder />
<iis:WebFilter Id="IisFilter" Name="MyIsapi" Path="[INSTALLFOLDER]isapi.dll" LoadOrder="last" Description="MyIsapi" />
</Component>
</ComponentGroup>
</Fragment>
我收到以下錯誤在我的MSI日誌:
WriteIIS7ConfigChanges: Error 0x8007000e: Failed while finding IAppHostElement filter/@name=(null)
WriteIIS7ConfigChanges: Error 0x8007000e: Failed to delete filter
WriteIIS7ConfigChanges: Error 0x8000ffff: Unexpected IIS Config action specified for global filter
WriteIIS7ConfigChanges: Error 0x8000ffff: Failed to configure IIS filter global.
WriteIIS7ConfigChanges: Error 0x8000ffff: WriteIIS7ConfigChanges Failed.
我害怕問題是wix本身的錯誤。 CreateGlobalFilter()在將pwzFilterName賦值給DeleteCollectionElement()之前,它已被賦值。這稍後會導致Iis7FindAppHostElementString()被調用,其值爲空wzAttributeValue值,該值看起來是錯誤的原因。
當然,我可能是在白費力氣,快樂生活在正確的方向指向...
更新: 我現在已經打了網站級別安裝並具有與除工作網站的屬性和元素。 Config here
編輯:將路徑屬性更改爲正確的格式。
感謝羅布,我會提出一個錯誤,並看看調試如果/當我有機會。 –