如何使用安装包 (msi) 中 burn UI 中设置的选项

How to use an option set in the burn UI in the install package (msi)

我使用的是标准 (EulaHyperlink) Burn 安装程序,但在 "Install" 页面中添加了一个选项,如下所示:

 <Page Name="Install">
<Text X="150" Y="15" Width="-11" Height="100" FontId="2" DisablePrefix="yes">#(loc.WillInstall)</Text>
<Hypertext Name="EulaHyperlink" X="150" Y="-60" Width="-11" Height="17" TabStop="no" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>

  <Checkbox Name="InstallXfemilyCheckbox" X="150" Y="-70" Width="246" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">Veraltete Programme auch installieren</Checkbox>

  <Button Name="InstallButton" X="-101" Y="-11" Width="85" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="85" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>

如何将复选框的"checked"或"Not checked"属性传递给msi?

我知道我可以传递这样的属性(来自捆绑包):

    <MsiProperty Name="NAME-IN-MSI" Value="Value-Seen-In-MSI"/>

但是在这种情况下 "Value-Seen-In-MSI" 是什么?我如何引用复选框的值?

基本上,它是这样的:

复选框需要在选项页面上。 Wix 将使用复选框的名称创建一个变量。您可以使用括号引用它并定义一个 MSI 属性。这个 属性 可以像其他任何东西一样使用。

所以,像这样的复选框:

  <Page Name="Options">
      <Checkbox Name="OptionsBox" X="110" Y="143" Width="200" Height="21" TabStop="yes" FontId="3"  />

      <Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
      <Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
  </Page>

像这样在包中使用它:

    <MsiPackage SourceFile="PathToMSI-File.msi">
        <MsiProperty Name="OPTIONSVALUE" Value="[OptionsBox]"/>
    </MsiPackage>

在那之后,它就是一个标准 属性,您可以像其他任何东西一样使用它。