2011-09-23 61 views
3

我最近將我們公司的安裝程序分成了兩個功能(一個啓用和一個缺席),以允許用戶選擇這兩個功能,我已使用UI_Mondo GUI進行選擇。自定義操作中的條件

我已經成功地讓我們的自定義操作來工作,如果被選擇的特徵:

<Custom Action="RestartIISForASPNet4" After="AspnetRegIIS"><![CDATA[(NOT INSTALLED) AND (&WebServiceFeature=3) AND NOT (!WebServiceFeature=3)]]></Custom 

我試過,但由於某種原因,它的未來與假(IMO,它不能作爲日誌該WixUI_InstallMode設置爲InstallComplete。

<Custom Action="RestartIISForASPNet4" After="AspnetRegIIS"><![CDATA[((NOT INSTALLED) AND (&WebServiceFeature=3) AND NOT (!WebServiceFeature=3)) OR WixUI_InstallMode = "InstallComplete"]]></Custom> 

人有什麼我失蹤的任何想法,這可能真的很明顯。

回答

3

WixUI_InstallMode是private property。這意味着它在InstallExecuteSequence期間(當您的自定義操作運行時)使用其默認值。

解決方案是使用自定義操作將其值保存在public property中。然後,您可以在您的情況下使用該公共財產。

公共屬性的名稱中沒有小寫字母。

+0

謝謝,這聽起來很有啓發!你有沒有一個使用這種自定義動作的例子?或者一個頁面學習,從來沒有這樣做過。 – Jamie

+0

也許這將有助於:http://wix.sourceforge.net/manual-wix3/wix_xsd_setproperty.htm –