复选框检查时刻录启用按钮

时间:2014-12-04 15:25:07

标签: c# visual-studio-2010 visual-studio wix

我正在使用Burn.I开发wix中的安装程序,使用默认Bootstraper Application捆绑msi并使用超链接许可证并自定义默认主题。我为LicenseUrl使用空格隐藏超链接许可证屏幕。

 <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
      <bal:WixStandardBootstrapperApplication LicenseUrl="" ThemeFile="HyperlinkTheme.xml" LocalizationFile="HyperlinkTheme.wxl"  LogoFile="D:\..\ym_header3.jpg"/>
    </BootstrapperApplicationRef>

我在欢迎屏幕中创建了一个复选框,如下所示,

<Checkbox Name="InstallCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" >I am running this as Administrator</Checkbox>

我想最初禁用install按钮。如果用户选中此复选框,则需要启用Install按钮。如果取消选中复选框,我需要禁用{{ 1}} button。如何在wix或bundle中执行此操作。

1 个答案:

答案 0 :(得分:0)

WixStandardBootstrapperApplication今天并不支持这样的自定义逻辑,但您可以在此处使用其有限的功能。您需要在主题中使用EulaHyperlinkEulaAcceptCheckbox控件(它们必须以这种方式命名):

<Hypertext Name="EulaHyperlink" X="11" Y="121" Width="-11" Height="51"
           TabStop="yes" FontId="3" HideWhenDisabled="yes" />
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260"
          Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">
    #(loc.InstallAcceptCheckbox)
</Checkbox>

请注意,EulaHyperlink没有文字,有效地隐藏了它。您还需要为LicenseUrl指定一些内容,即使它不会显示:

<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
  <bal:WixStandardBootstrapperApplication ThemeFile="HyperlinkThemeCustomized.xml"
   LicenseUrl="http://link.net" LocalizationFile="HyperlinkThemeCustomized.wxl" />
</BootstrapperApplicationRef>

EulaAcceptCheckbox是一个复选框,用于控制InstallButton是否已启用。