我使用WiX3生成MSI安装包。
我已在<Package>
和<Media>
元素中指定了压缩标记:
<Package InstallerVersion="200" Compressed="yes"/>
<Media Id="1" Cabinet="MySetup.cab" EmbedCab="yes" CompressionLevel="high" />
但是生成的MSI根本没有压缩 - WinZip将它从2M压缩到600K。
我错过了什么吗?
我正在使用VS2008 btw。
答案 0 :(得分:4)
MSI文件不是OLE结构化存储文件。它们无法压缩,Windows Installer仍然可以读取它们。但是,很多东西都存储在MSI文件中(例如你的UI图形和CustomAction DLL和快捷方式图标),所以你应该清楚你要放入MSI的内容。
WiX工具集中没有任何内容可以分析您将它们放入MSI并压缩它们的所有内容(除了cab文件,当然,因为Windows Installer需要对其进行压缩)。
老实说,Windows Installer本身并不支持今天的最佳压缩。要做的一件事是构建程序包并使用引导程序分发压缩内容并解压缩,然后再将其传递给Windows Installer。这是WiX v3.5的刻录引导程序的计划。
答案 1 :(得分:2)
您的问题中缺少某些内容。但是你怎么知道它没有被压缩。如果Winzip可以进一步压缩它,并不总是意味着它没有被压缩。您可以使用7-zip调查生成的msi文件。内部应该有一个驾驶室,将其取出,并在解压缩之前和之后查看尺寸。
答案 2 :(得分:1)
关于巨大的位图,我建议在photoshop中编辑它们以缩小它们。通过将它们更改为索引颜色托盘(图像&gt;模式&gt;索引),然后将生成的文件保存为8位压缩BMP,我设法将两个600K位图降低到每个约35k。
试一试;)
答案 3 :(得分:1)
检查此网址,我认为您有同样的问题 wix max compression