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 主题。
我想将 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 主题。