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

时间:2018-07-12 13:17:11

标签: wix windows-installer wix3.5 vcredist

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

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

<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>

2 个答案:

答案 0 :(得分:4)

ExePackage仅在分发包(.exe)中有效,而在产品(.msi)中无效。 (VC ++可重新分发本身就是包含MSI软件包的Burn捆绑包,MSI软件包无法安装其他MSI软件包。)

答案 1 :(得分:0)

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

有关此Redistributing Visual C++ Files的更多信息,请参见此Microsoft主题。