我有一个使用 Wix v4 创建的 MSI 安装程序,它的大小已经增大,现在已超过 2GB。现在,它不再起作用了。
确实,Wix 输出以下警告:
warning WIX1158: The Windows Installer does not support Package files larger than 2GB in size.
事实上,安装程序失败,并在尝试运行时出现与该错误相关的错误。
在
EmbedCab
元素中将 no
设置为 MediaTemplate
时,.cab 文件将在 MSI 旁边生成,并且必须与 MSI 文件一起分发。
但是,我的 .cab 文件都没有大于 2GB(最大的约为 500MB),所以我猜想在嵌入它们时,它们会作为单个存档嵌入。
有什么方法可以防止嵌入的 .cab 文件超过 2GB(即使通过手动分发文件)?或者MSI本身一般不能超过2GB?
否则,我如何将 MSI 和 .cab 文件与某种包装器捆绑在一起?
我的应用程序仅适用于 x64,所以也许有某种方法可以指定它来覆盖 2GB 限制?
这个:
或者MSI本身一般不能超过2GB?
还有另一种说法:
Windows Installer 不支持大小超过 2GB 的包文件。
因此,可以得出:
安装程序失败,并在尝试运行时出现与该错误相关的错误。
现在,您可以创建一个捆绑包将其全部包装在一个单一的可执行文件中,但请注意,多 GB 的可执行文件启动速度非常慢(尤其是在签名时)。