2010-11-29 29 views
2

這是mi安裝程序,如果沒有選擇要安裝的功能,我需要禁用下一個按鈕。如果沒有選擇要安裝的功能,我想禁用Next按鈕

<Feature Id="App1" Title="App 1" Level="1" AllowAdvertise='no' InstallDefault='local'> 
    <Condition Level="0">INSTALL_FEATURES = 0</Condition> 
    <ComponentRef Id="App1" /> 
</Feature> 

<Feature Id="App2" Title="App 2" Level="1" AllowAdvertise='no' InstallDefault='local'> 
    <Condition Level="0">INSTALL_FEATURES = 0</Condition> 
    <ComponentRef Id="App2" /> 
</Feature> 

<UIRef Id="WixUI_FeatureTree"/> 
<UIRef Id="WixUI_ErrorProgressText" /> 

的感謝!

回答

0

MSI本地用戶界面不允許您以所需的方式啓用和禁用控件。您可以做的最好的事情是編寫事件條件,檢查是否沒有選擇任何功能來顯示帶有錯誤消息的模式對話框,否則顯示下一個對話框。請務必考慮維護/更改和/或升級方案的後果。

0

如果你有一個自定義用戶界面,你可以給控制兩個條件:

  <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]"> 
      <Publish Event="NewDialog" Value="HtVerifyReadyDlg">1</Publish> 
      <Condition Action="disable"><![CDATA[NOT(&App1=3 OR &App2=3)]]></Condition> 
      <Condition Action="enable"><![CDATA[(&App1=3 OR &App2=3)]]></Condition> 
      </Control> 
相關問題