6

我有一个 MSI 包,除了程序组件之外,它还安装了一个大型数据库文件。此文件不包含在包中,但在 msi 文件旁边提供。到目前为止,此设置没有问题。现在数据库增长到大于 2 GB 的大小。这会在安装时引发错误(在 Win7 机器上测试):

“写入文件时出错:[数据库文件的路径]。检查您是否拥有该文件夹的权限。”

搜索互联网显示 Windows Installer 似乎对大于 2GB 的文件有问题。作为解决方案,建议不要将文件包含在 MSI 中,而是将其与 msi 一起解压缩。这就是我们已经在做的事情。因此,建议的解决方案不起作用。

有没有办法使用 Windows Installer 安装大于 2 GB 的文件?这个限制对我来说似乎有点过时了。

PS:如果有帮助,安装是使用 WIX 构建的,但是任何关于在 msi 数据库本身中修改什么的提示都值得赞赏

4

1 回答 1

5

Windows 安装程序确实有一些旧的限制。FileSize 的表定义限制为 2GB,Windows Installer 使用压缩文件压缩限制为 4GB 的数据(尽管您可以通过使用 cab-splitting 绕过它)。

我很确定您已经在 Windows Installer 中达到了真正的最大值,但是如果您有更新版本的 WiX 工具集(v3.7+),您可以查看 cab-splitting 是否适合您。要尝试替换Media您可能拥有的任何元素:

<MediaTemplate MaximumCabinetSizeForLargeFileSplitting='200' />

这将根据需要创建尽可能多的 200MB 机柜来包含您的内容。剩下的唯一问题是当文件大于 2GB 时 Windows Installer 是否会理解该文件。祝你好运!

于 2013-04-17T13:19:01.023 回答