【问题标题】:WiX generated MSI is not compressedWiX 生成的 MSI 未压缩
【发布时间】:2010-09-28 07:09:54
【问题描述】:

我使用 WiX3 生成 MSI 安装包。 我在<Package><Media> 元素中都指定了压缩标志:

<Package InstallerVersion="200" Compressed="yes"/>
<Media Id="1" Cabinet="MySetup.cab" EmbedCab="yes" CompressionLevel="high" />

但生成的 MSI 根本没有压缩 - WinZip 将其从 2M 压缩到 600K。

我错过了什么吗?

顺便说一句,我正在使用 VS2008。

【问题讨论】:

  • 您指定的 xml 标签没有出现在文本中。我认为将它们标记为“代码”应该在文本中显示它们。

标签: visual-studio-2008 compression wix windows-installer


【解决方案1】:

MSI 文件不是 OLE 结构化存储文件。它们不能被压缩,并且 Windows 安装程序仍然可以读取它们。但是,很多东西都存储在 MSI 文件中(例如您的 UI 图形和 CustomAction DLL 和快捷图标),因此您应该注意您放入 MSI 的内容。

WiX 工具集中没有任何内容可以分析您将它们放入 MSI 并对其进行压缩的每个内容(当然,除了 cab 文件,因为 Windows Installer 预计该文件会被压缩)。

老实说,Windows 安装程序本身并不支持当今最好的压缩。要做的一件事是构建包并使用引导程序分发压缩内容并在将其传递给 Windows Installer 之前解压缩。这就是 WiX v3.5 的烧录引导程序的计划。

【讨论】:

    【解决方案2】:

    您的问题中缺少某些内容。但是你怎么知道它没有被压缩。如果 Winzip 可以进一步压缩它,并不总是意味着它没有被压缩。您可以使用7-zip 调查生成的 msi 文件。里面应该有一个cab,解压出来,看看解压前后的大小。

    【讨论】:

      【解决方案3】:

      关于巨大的位图,我建议在 Photoshop 中编辑它们以缩小它们。通过将它们更改为索引调色板(图像>模式>索引),然后将生成的文件保存为 8 位压缩 BMP,我设法将两个 600K 位图降低到约 35k。

      试一试;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多