由于您的问题中并未清楚指出您要做什么,因此我将从头开始解释。
创建一个新的Wix Burn引导程序项目。这是安装依赖项并随后生成现有的Wix 3.5安装程序的地方。
下载.NET 3.5 SP1完整包,并记录用于下载的直接URL。
使用heat.exe(在wix 3.6 bin目录中)运行以下命令,将生成一个WXS文件,其中包含.NET安装程序的详细信息。
heat.exe payload [path_to_net_installer] -o [path_to_wxs]
这将在wxs中为你提供以下内容:
<RemotePayload CertificatePublicKey="F321408E7C51F8544B98E517D76A8334052E26E8"
CertificateThumbprint="D57FAC60F1A8D34877AEB350E83F46F6EFC9E5F1"
Description=".NET Framework 3.5 Setup"
Hash="3DCE66BAE0DD71284AC7A971BAED07030A186918"
ProductName=".NET Framework 3.5"
Size="242743296"
Version="3.5.30729.1" />
将以下代码添加到您的启动器项目中,作为
ExePackage
元素的子级,并更新该元素以使用之前保存的下载 URL。这将自动下载 .NET 安装程序,或者您可以将其放置在启动器 exe 旁边,它会自动检测到。
在
Bundle中创建一个包含 .NET ExePackage 和您的安装程序的 MsiPackage 的
chain。然后,您最终将得到类似以下内容的内容(我将留下许多必需属性供您填写!):
<Bundle Name="$(var.SkuName)"
Copyright="$(var.Copyright)"
Manufacturer="$(var.Manufacturer)"
Version="$(var.ProductVersion)"
UpgradeCode="$(var.UpgradeCode)">
<Chain>
<ExePackage Id="dotNetFX3.5">
<RemotePayload />
</ExePackage>
<MsiPackage Id="MyMsi" />
</Chain>
</Bundle>
编译后,您应该会得到一个包含msi文件的大型exe文件,或者如果您选择不压缩它,则会得到一个执行msi文件的exe文件(需要与msi文件放在同一文件夹中)。