WiX 将 ExePackage 添加到产品以安装 vcredist

WiX Add ExePackage to a Product to install vcredist

我想将 VC++ Redistributable 2013 添加到现有的工作 WiX 项目中。该项目由一个带有 <Product> 元素的主文件组成,其中包含一个 <Feature> 和一个 <InstallExecuteSequence> 元素以及其他一些元素。

我发现您可以使用 Burn 中的 <ExePackage> 来安装 .exe 文件(在我的例子中是可再分发文件)。我形成了一个片段,看起来像这样(在 的帮助下):

<Fragment>
    <PackageGroup Id="VC13RedistX86">
      <ExePackage
        Cache="no"
        Compressed="yes"
        PerMachine="yes"
        Permanent="yes"
        Vital="yes"
        Name="Resources\vcredist_x86.exe"
        SourceFile="Resources\vcredist_x86.exe"
        InstallCommand="/install /quiet /norestart">

        <!-- -->
        <ExitCode Value="3010" Behavior="forceReboot"/>
        <!-- Ignore "Newer version installed" error -->
        <ExitCode Value="1638" Behavior="success"/>
      </ExePackage>
    </PackageGroup>
</Fragment> 

我想知道是否有办法将其包含到我现有的 WiX 产品中?如果没办法,怎么把原来的安装包和<ExePackage>结合起来?

ExePackage 仅在捆绑包 (.exe) 中有效,在产品 (.msi) 中无效。 (VC++ 可再发行组件本身是一个包含 MSI 包的 Burn 包,MSI 包不能安装其他 MSI 包。)

将 vc redist 二进制文件添加到安装中的最佳方法是使用 Microsoft 提供的合并模块,尽管他们现在建议使用引导程序并自行安装可再分发包,而不是使用合并模块。

有关 Redistributing Visual C++ Files 的详细信息,请参阅此 Microsoft 主题。