我有instakllation我必须根据复选框值显示Dialog。我最初将checkbox属性设置为true。
<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>
我的问题始终显示设置对话框为假状态。
请帮助解决这个问题。
答案 0 :(得分: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>
答案 1 :(得分:1)
要使SetupTypeDlg仅在CHECKBOX_1_PROP&lt;&gt;时显示“TRUE”代码看起来像这样:
<Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[INSTALL AND CHECKBOX_1_PROP<>"TRUE"]]></Publish>