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