Hug*_*ugo 5 windows-installer wix large-files
我有一个 MSI 包,除了程序组件之外,它还安装了一个大型数据库文件。此文件不包含在包中,但与 msi 文件一起提供。到目前为止,这个设置没有问题。现在数据库增长到大于 2 GB 的大小。这会在安装时引发错误(在 Win7 机器上测试):
“写入文件时出错:[数据库文件路径]。检查您是否对该文件夹具有权限。”
在互联网上搜索显示,windows Installer 似乎对大于 2GB 的文件有问题。作为解决方案,建议不要将文件包含在 MSI 中,而是将未压缩的文件与 msi 一起发送。这就是我们已经在做的事情。因此,建议的解决方案不起作用。
有没有办法使用 Windows Installer 安装大于 2 GB 的文件?这个限制对我来说似乎有点过时了。
PS:如果有帮助,安装是使用 WIX 构建的,但任何有关在 msi 数据库本身中修改内容的提示都值得赞赏
Windows Installer 确实有一些旧的限制。FileSize 的表定义具有 2GB 的限制,Windows Installer 使用 Cabinet 文件来压缩具有 4GB 限制的数据(尽管您可以通过使用 cab 分割来绕过它)。
我很确定您已经在 Windows Installer 中达到了真正的最大值,但如果您有更新版本的 WiX 工具集 (v3.7+),您可以看看 cab-splitting 是否适合您。要尝试替换Media您可能拥有的任何元素:
<MediaTemplate MaximumCabinetSizeForLargeFileSplitting='200' />
Run Code Online (Sandbox Code Playgroud)
这将根据需要创建尽可能多的 200MB 橱柜来容纳您的内容。唯一剩下的问题是,当文件大于 2GB 时,Windows Installer 是否能够识别该文件。祝你好运!