2

我已经为一组具有依赖关系的应用程序构建了一个非常基本的安装程序,它可以处理 .NET 包的重新启动。但是,我现在遇到的问题是卸载操作仅卸载安装程序本身,它显示在程序列表中。运行安装过程的所有其他 .exe 文件仍保持安装状态。有没有简单的方法来处理这个安装?我对 WiX 工具集还是很陌生,不想深入研究自定义安装程序。这是我的捆绑包:

 <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
  xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" 
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Bundle Name="Visible EP Installer" Version="1.0.0.0" Manufacturer="VEP" UpgradeCode="8d1a4e2a-be3f-4b51-824b-75652ae98bad">
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
      <bal:WixStandardBootstrapperApplication
          LicenseFile="..\VisibleEP EULA-ver2.rtf"
          LogoFile="..\VEPLogo_HeartOnlyBlack(50x50).png"
        />
    </BootstrapperApplicationRef>
    <?define NetFx45MinRelease = 378389?>
    <util:RegistrySearch
        Id="NETFRAMEWORK45"
        Variable="NETFRAMEWORK45"
        Root="HKLM"
        Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
        Value="Release"
        Result="value" />
    <Chain>
      <ExePackage Id="NetFx45Redist" Cache="no" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/q /norestart" RepairCommand="/q"
              SourceFile="..\VEP Deploy\Setup Files\dotNetFx45_Full_setup.exe"
              DetectCondition="NETFRAMEWORK45 &gt;= $(var.NetFx45MinRelease)"
              InstallCondition="(NOT NETFRAMEWORK45 &gt;= $(var.NetFx45MinRelease))">
        <ExitCode Value="1641" Behavior="forceReboot"/>
        <ExitCode Value="3010" Behavior="forceReboot"/>
        <ExitCode Value="0" Behavior="success"/>
        <ExitCode Behavior="error"/>
      </ExePackage>
      <ExePackage
        SourceFile="..\VEP Deploy\Setup Files\Encoder_en.exe"
        Permanent="no"
        InstallCommand="/q"
        RepairCommand="/q">
        <ExitCode Behavior="success"/>
      </ExePackage>
      <ExePackage
        SourceFile="..\VEP Deploy\Setup Files\vcredist_x86.exe"
        Permanent="no"
        InstallCommand="/q"
        RepairCommand="/q">
        <ExitCode Behavior="success"/>
      </ExePackage>
      <ExePackage
        SourceFile="..\VEP Deploy\Setup Files\vcredist_x64.exe"
        Permanent="no"
        InstallCommand="/q"
        RepairCommand="/q">
        <ExitCode Behavior="success"/>
      </ExePackage>
      <ExePackage
        SourceFile="..\VEP Deploy\Setup Files\vep_setup.exe"
        Permanent="no">
        <ExitCode Behavior="success"/>
      </ExePackage>
        </Chain>
    </Bundle>
</Wix>

我知道处理最后几个的退出代码有点骇人听闻,但我目前并不关心它,只要它不影响我的其他问题。

4

1 回答 1

3

您必须提供UninstallCommand属性值,以便 Burn 知道如何卸载 .exe。

于 2013-06-25T16:47:28.443 回答