2010-11-26 20 views
3

WindowsインストーラとWixには初めてですので、初心者の質問をお許しください。Wixインストーラ - カスタムダイアログ入力に基づいてExitDialogに条件付きで "アプリケーションを起動"を表示する

私はWixUI_InstallDirを使用しており、LicenseAgreementDlgの後とInstallDirDlgの前に3つのチェックボックスを表示したカスタムダイアログを追加しました。最初のチェックボックスをオンにしてインストーラを初めて実行したときに限り、ExitDialogに「インストールされたアプリケーションを起動する」チェックボックスを条件付きで表示する方法はありますか?私のWXSファイルで

、私は

<!-- Property for each checkbox value (first checkbox checked by default) --> 
<Property Id="Checkbox1" Value="1"/> 
<Property Id="Checkbox2"/> 
<Property Id="Checkbox3"/> 

<!-- Custom action to set exit dialog checkbox --> 
<CustomAction Id="CA_Set_WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch application."/> 

<InstallUISequence> 
    <Custom Action="CA_Set_WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" After="FindRelatedProducts">Checkbox1 = 1 and NOT Installed</Custom> 
</InstallUISequence> 

<!-- User Interface --> 
<UI> 
    <UIRef Id="WixUI_InstallDir"/> 
    <UIRef Id="WixUI_ErrorProgressText"/> 
    <DialogRef Id="MyCheckboxesDlg"/> 
    <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="MyCheckboxesDlg" Order="3">LicenseAccepted = "1"</Publish> 
    <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="MyCheckboxesDlg">1</Publish> 
</UI> 

を持っている私の問題は、私は最初のチェックボックスのチェックを外した場合InstallUISequenceはそう出ダイアログで打ち上げアプリがある終了した後、CheckBox1をプロパティの値が0に設定されていることですまだ表示されます。

UISequenceまたはExecuteSequenceのどこでプロパティを設定する必要がありますか?

答えて

1

InstallUISequenceで呼び出すのではなく、カスタムダイアログの[次へ]ボタンを押すと、CA_Set_WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXTカスタムアクションと呼ばれるようになりました。

<!-- NO LONGER NEEDED 
<InstallUISequence> 
    <Custom Action="CA_Set_WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" After="FindRelatedProducts">Checkbox1 = 1 and NOT Installed</Custom> 
</InstallUISequence> 
--> 

<Fragment> 
    <UI> 
     <Dialog Id="MyCheckboxesDlg" Width="370" Height="270" Title="[ProductName] Setup" NoMinimize="yes"> 
     <Control Id="ChkBox1" Type="CheckBox" X="25" Y="75" Width="200" Height="17" Property='Checkbox1' CheckBoxValue='1' > 
      <Text>First checkbox</Text> 
     </Control> 
     <Control Id="ChkBox2" Type="CheckBox" X="25" Y="95" Width="200" Height="17" Property='Checkbox2' CheckBoxValue='1'> 
      <Text>Second checkbox</Text> 
     </Control> 
     <Control Id="ChkBox3" Type="CheckBox" X="25" Y="115" Width="200" Height="17" Property='Checkbox3' CheckBoxValue='1'> 
      <Text>Third checkbox</Text> 
     </Control> 

     <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="&amp;Next"> 
      <Publish Event="DoAction" Value="CA_Set_WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Order="1">Checkbox1= 1</Publish> 
      <Publish Event="NewDialog" Value="InstallDirDlg" Order="2">1</Publish> 
     </Control> 

     <!-- Other UI controls... --> 

    </Dialog> 
    </UI> 
</Fragment> 
関連する問題