2010-05-10 118 views
2

我有instakllation我必須根據複選框值顯示對話框。我最初將複選框屬性設置爲true。基於CheckBox值顯示WIX對話框

<Property Id="CHECKBOX_1_PROP" Value="TRUE" /> 

並根據複選框的值顯示對話框。如果這是真的,我必須展示Newdoalog_1如果是假的,我必須表現出設置對話框

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Next]" TabSkip="no" Default="yes"> 
<Publish Event="SetTargetPath" Value="APPDIR">INSTALL</Publish> 
<Publish Event="NewDialog" Value="NewDialog_1">INSTALL AND CHECKBOX_1_PROP="TRUE"</Publish> 
<Publish Event="NewDialog" Value="SetupTypeDlg">INSTALL</Publish> 
</Control> 

<Control Id="CheckBox_1" Type="CheckBox" X="25" Y="164" Width="211" Height="26" Property="CHECKBOX_1_PROP" Text="Do you want to install the Samples" CheckBoxValue="CheckBox" TabSkip="no" Hidden="yes"> 
<Condition Action="show">INSTALL</Condition> 
</Control> 

我的問題是始終顯示的設置對話框那是假的條件。

請幫忙。

回答

2

我猜你的複選框沒有設置字符串文字"TRUE",複選框在未選中時完全刪除屬性。將該屬性設置爲任何值(「0」,「true」,「false」,「-1」)將導致它被檢查。因此,忽略該值,只需檢查是否存在

<Publish Dialog="MyDlg" Control="Next" Event="NewDialog" Value="CustomDlg1">PROP1</Publish> 
<Publish Dialog="MyDlg" Control="Next" Event="NewDialog" Value="CustomDlg2">Not PROP1</Publish> 
+0

你想嘗試回答另一個問題維克斯? http://stackoverflow.com/questions/19355537/wix-setting-install-folder-correctly/ – 2013-10-15 12:49:45

1

爲了讓SetupTypeDlg,只顯示在CHECKBOX_1_PROP <>「TRUE」的代碼應該是這個樣子:

<Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[INSTALL AND CHECKBOX_1_PROP<>"TRUE"]]></Publish>