Wix:如何创建超过 2GB 的 bundle.exe(外部文件)
Posted
技术标签:
【中文标题】Wix:如何创建超过 2GB 的 bundle.exe(外部文件)【英文标题】:Wix: How can I create a bundle.exe with more than 2GB (external files) 【发布时间】:2020-03-18 11:40:06 【问题描述】:我有多个 MSI 文件,我正在使用 WIX 创建 bundle .exe。捆绑包开始超过 2GB。从this answer 我了解到它不能在单个 .exe 文件中完成,因为刻录不支持大于 2GB 的容器。
是否可以使用(例如外部 .cab 文件)生成 .exe 安装程序? .exe 文件小于 2GB,但需要外部文件?
【问题讨论】:
只有几个链接:the online and / or compression workaround 和 a similar answer thrown in。我认为最新的开发版本中没有修复,但here they are - latest, public WiX developmental releases。 【参考方案1】:<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Bundle Name" Version="1.0.0.0" Manufacturer="Company Inc." UpgradeCode="YOUR_GUID_HERE">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage SourceFile="stage\msi1.msi" Vital="yes" Visible="yes"/>
<MsiPackage SourceFile="stage\msi2.msi" Vital="yes" Visible="yes"/>
<!-- etc... -->
<!-- msi which will not be compressed: -->
<MsiPackage DownloadUrl="0" SourceFile="stage\external.msi" Vital="yes" Visible="yes" Compressed="no"/>
</Chain>
</Bundle>
</Wix>
这会产生一系列 msi1、msi2 文件(包含在 .exe 中)。 External.msi 文件不包含在 bundle 中,因此在运行 bundle 时需要将其放在 .exe 文件旁边。
【讨论】:
可以,但需要将外部文件放在 setup.exe 旁边。就我而言,我有 setup.exe 1.5GB 和 external.msi 大约 1GB。安装失败。当我忘记将 external.msi 放在 setup.exe 旁边时。 我想你可以直接从网上下载吗?我还没有测试所有这些。这取决于我猜的外部设置有多大。 我猜external.msi可以从网上下载,但就我而言,我必须离线进行,这个解决方案就可以了。以上是关于Wix:如何创建超过 2GB 的 bundle.exe(外部文件)的主要内容,如果未能解决你的问题,请参考以下文章
如何将超过 2Gb 的文件上传到 IIS 7.5 / .Net 4?