在選擇功能時,在Wix中很容易啓用組件。我想做相反的事,除非選擇了一個給定的特徵,否則組件將被安裝。原因是,如果選擇了給定的功能,組件將執行不需要的配置更改。如何在選擇功能時禁用Wix組件?
失敗的實驗:
我使用的組件條件的嘗試:
<Component ...>
<Condition>&Feature = 3</Condition>
...
</Component>
我也嘗試使用自定義操作集在CostFinalize之前運行,以便設置可以在組件條件中測試的屬性。這也沒有工作:
<Custom Action="Transfer_Feature_State" Before="CostFinalize" />
<Custom Action="Transfer_Feature_State_Property" Before="MtpWeb_Features_LabManager" />
<Custom Action="Transfer_Feature_State_Feature" Before="MtpWeb_Features_LabManager" />
當自定義操作運行,該功能狀態仍設置爲-1,所以功能狀態尚未CostFinalize之前計算。
有沒有什麼方法可以根據特徵選擇禁用組件?
我考慮過只是將我的配置更改移動到稍後可以調度的自定義操作,而不是使用'Util:XmlFile',而是寧願將所有內容都保存在Wix腳本中。 –