将我的安装程序版本升级到 WiX 3.5 后,msi 大小从 100Mb 下降到只有 4Mb!起初我认为某些文件已从 MSI 中排除,因此我使用 -v(详细)和 -notidy(保留临时文件)选项运行了 light.exe 3.0 和 3.5,检查了 cab 文件,实际上在 3.5 的情况下cab 文件为 3.8Mb,而 3.0 产生 98Mb。看着驾驶室,所有的文件似乎都在。尝试提取两个驾驶室 - 输出看起来相同。最后,还是不相信自己的眼睛,我安装了 4Mb MSI 并且成功了!什么可以解释如此巨大的差异?我目前的理论——也许新的 WiX 使用新的 CAB 压缩逻辑来检测重复文件并创建引用而不是多次添加文件?MSI链接时间也显着下降......
3 回答
3
Wix 3.5.0619.0 包括以下更改(来自http://wix.sourceforge.net/releases/3.5.2519.0/history.txt):
Smart cabbing 现在可以捕获所有重复文件,而不仅仅是来自同一源路径的文件(基于文件哈希)。
从 Wix 3.0 升级到 3.5 后,我还观察到安装程序大小也有类似的减少。上述更改将解释这一点,因为我们的安装程序正在交付的文件中有一些重复,并且这些只会被文件哈希而不是源路径拾取。
于 2011-05-03T13:07:07.873 回答
1
您可以在某处分享 MSI(如果您愿意,请随时离线联系我,请参阅http://robmensching.com)?据我所知,在 WiX v3.5 中没有任何可能导致这种剧烈变化的变化……除非你的 .wxs 文件发生了变化……或者存在错误。;)
于 2010-09-02T14:17:08.257 回答
1
您的 3.0 中有不同的源路径,而 3.5 中有相同的源路径吗?
于 2010-08-27T21:13:10.260 回答