我使用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。
发布于 2008-12-24 10:51:06
你的问题中漏掉了一些东西。但是你怎么知道它不是压缩的呢?如果Winzip可以进一步压缩它,并不总是意味着它没有压缩。您可以使用7-zip调查生成的msi文件。里面应该有一辆出租车,解压出来,看看解压前后的大小。
发布于 2008-12-25 20:05:46
MSI文件不是OLE结构化存储文件。它们无法压缩,Windows Installer仍然可以读取它们。但是,许多内容都存储在MSI文件中(例如UI图形、CustomAction DLL和快捷方式图标),因此您应该注意要放入MSI中的内容。
WiX工具集中没有任何东西可以分析您将它们放入MSI并对其进行压缩的每一项内容(当然,cab文件除外,因为Windows Installer希望压缩cab文件)。
老实说,Windows安装程序本身并不支持当今最好的压缩。要做的一件事是构建包并使用引导程序,在将其传递给Windows安装程序之前,分发压缩的内容并解压缩。这就是WiX v3.5的刻录引导程序的计划。
发布于 2008-12-29 06:20:56
至于巨大的位图,我建议在photoshop中编辑它们以缩小它们。我设法获得了两个600K的位图,每个减少到35K,方法是将它们更改为索引调色板(图像>模式>索引),然后将结果文件保存为8位压缩的BMP。
试一试;)
https://stackoverflow.com/questions/390860
复制相似问题