【发布时间】:2010-09-28 09:42:23
【问题描述】:
我正在使用 2 500K 位图在我的 WiX 对话框上显示图像。
它们显着增加了安装包的大小,更糟糕的是 - 看起来无法将它们打包为 .cab 文件的一部分,因为它们在 WiX 术语中是 <binary>-es。
那么,我想,有没有办法将其他文件格式用于位图或 WiX 与 BMP 绑定?理想情况下,如果有一种使用 .png 格式的方法会更好,因为它带有一个松散的压缩选项。
【问题讨论】:
我正在使用 2 500K 位图在我的 WiX 对话框上显示图像。
它们显着增加了安装包的大小,更糟糕的是 - 看起来无法将它们打包为 .cab 文件的一部分,因为它们在 WiX 术语中是 <binary>-es。
那么,我想,有没有办法将其他文件格式用于位图或 WiX 与 BMP 绑定?理想情况下,如果有一种使用 .png 格式的方法会更好,因为它带有一个松散的压缩选项。
【问题讨论】:
Bitmap control 的 Windows 安装程序文档指出图像应该是“位图”——可能是 .BMP 文件——或 JPEG。
在使用 WiX 时,您必须记住它基于 Windows Installer。这意味着 WiX 中的任何限制通常是由底层 Windows Installer 实现中的限制引起的。
.BMP 文件可以进行 RLE 压缩。我不知道他们是否支持任何其他压缩算法。
【讨论】:
jpeg 或压缩bmp。阅读my answer了解详情。
WiX 工具集不受 BMP 和 JPG 限制。正如您所发现的,您可以将任何其他图像格式放入您的包中。但是,MSI SDK 仅记录 BMP 和 JPG 支持。
【讨论】:
是的,如果您只需要在 Windows 8 或更高版本上安装。来自Bitmap Control:
Windows 8 和 Windows Server 2012: 图像文件可以是任何 Windows 映像组件 (WIC) 支持的标准格式, 包括 TIFF、JPEG、PNG、GIF、BMP 和 HDPhoto。控件不 支持动画。
【讨论】:
正如在其他答案中所述,图像格式限制来自 Microsoft 的 MSI 实施,而不是来自 WiX。虽然.jpeg 似乎从 Windows 7 开始支持,PNG 从 Windows 8 开始支持,但请注意您使用的格式。您需要权衡的是安装程序的外观。
我的经验表明,确保生成的安装程序正确显示图像的唯一可靠方法是使用未压缩的BMPs。就是这样!是的,我知道他们会膨胀最终文件的大小,但是,嘿,就像微软的其他一切一样,他们已经落后了很多年,没有办法解决。
因此,如果您不想让安装程序在 Windows XP 或 Vista 上显示灰色方块而不是图形,请不要使用原始 .bmp 格式以外的任何内容。
【讨论】: