Как я могу скрыть элемент в диалоге начальной загрузки? - PullRequest
0 голосов
/ 31 августа 2018

В зависимости от выбора, сделанного в загрузчике WiX, устанавливается определенный MSI.
Один из вариантов определяется пользователем и может быть установлен с помощью флажка.
Я хочу, чтобы пользователи могли устанавливать этот флажок только на основе другой переменной, поэтому я хочу отключить / скрыть флажок, если для моей переменной задано определенное значение. Как я могу это сделать?

Мой текущий XML:

Theme.xml
<?xml version="1.0" encoding="utf-8"?>
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
  <Window Width="493" Height="400" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
  <Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="F0F0F0" >Segoe UI</Font>
  <Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
  <Font Id="2" Height="-22" Weight="500" Foreground="666666" Background="F0F0F0">Segoe UI</Font>
  <Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="F0F0F0" >Segoe UI</Font>
  <Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="F0F0F0"  Underline="yes">Segoe UI</Font>
  <Font Id="5" Height="-24" Weight="500" Foreground="000000" Background="E0E0E0">Segoe UI</Font>
  <Image X="0" Y="0" Width="130" Height="0" ImageFile="logo.png" Visible="yes" />
  <Text X="130" Y="-45" Width="500" Height="2" FontId="5" Visible="yes"></Text>

  <Page Name="Install">
    <Text X="150" Y="30" Width="-11" Height="100" FontId="2" DisablePrefix="yes">[WixBundleName] will be installed on your PC</Text>
    <Text X="150" Y="130" Width="-11" Height="100" FontId="3" DisablePrefix="yes">
      This installer will install [WixBundleName] on your PC.
    </Text>
    <Checkbox Name="UserOrMachine" X="150" Y="250" Width="-11" Height="17" FontId="3" TabStop="yes" HideWhenDisabled="yes">Install for all users</Checkbox>
    <Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
    <Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
  </Page>

  <!--other Pages-->
</Theme>


==================
Bundl.wxs
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
  <Bundle Name="Product" Version="4.5.2" Manufacturer="Company B.V." UpgradeCode="00000000-0000-0000-0000-000000000000">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
      <bal:WixStandardBootstrapperApplication
          LicenseUrl=""
          xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
          LogoFile="Resources\BigLogo.png"
          SuppressOptionsUI="yes"
          ThemeFile="Theme.xml"
          SuppressRepair="yes"/>
    </BootstrapperApplicationRef>

    <util:RegistrySearch
      Id="OfficeVersionCheck"
      Variable="OfficeVersion"
      Root="HKCR"
      Key="Word.Application\CurVer" />
    <!--Word.Application.xx 2007=12-->
    <Variable Name="UserOrMachine" Type="numeric" bal:Overridable="yes" Value="0" />

    <Chain>
      <MsiPackage Id="Installer1" InstallCondition='VersionNT64 AND OfficeVersion ~= "Word.Application.12"' SourceFile="$(var.MyMSI1.TargetPath)" DisplayInternalUI="yes" />
      <MsiPackage Id="Installer2" InstallCondition='NOT VersionNT64 AND OfficeVersion ~= "Word.Application.12"' SourceFile="$(var.MyMSI2.TargetPath)" DisplayInternalUI="yes" />
        </Chain>
    </Bundle>
</Wix>

Я уже пробовал Этот ответ безрезультатно, я также, кажется, не могу использовать <condition> в моей theme.xml

...