На основе значения CheckBox показать диалог WIX - PullRequest
2 голосов
/ 10 мая 2010

У меня есть инстакляция, я должен показать диалог на основе значения флажка. Сначала я установил свойство 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>  

Моя проблема всегда показывает диалог установки, который является ложным условием.

Пожалуйста, помогите по этому вопросу.

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Я предполагаю, что ваш флажок не устанавливает строковый литерал "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 голос
/ 29 июля 2010

Чтобы параметр SetupTypeDlg отображался только когда CHECKBOX_1_PROP <> «TRUE», код должен выглядеть примерно так:

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