8

我正在使用几篇文章和其他问题来覆盖我在 20 多个其他安装程序中使用的二进制 wixlib 的横幅位图图像。这个库提供了我们自己的自定义 UI、一些自定义对话框、公共资源、二进制文件、自定义操作等。

这是我在 wixlib 中用于覆盖图像的代码:

    <Binary Id="WixUI_Bmp_Banner" SourceFile="Bitmaps\bnnrbmp.bmp/>
    <Binary Id="WixUI_Bmp_Dialog" SourceFile="Bitmaps\dlgbmp.bmp/>

但是当我在我的实际 MSI 项目中引用我的 wixlib 时,除了 UI 横幅图像覆盖(我的自定义对话框触发、进程正常、安装常见二进制文件等)之外,一切正常。我需要在我的二进制 wixlib 项目中做些什么来覆盖我自己的二进制 wixlib 中的 UIExtension.wixlib 默认图像吗?

我在这里看到了这个问题:Can WixUiBannerBmp is set in a wixlib? ,但是该问题的答案没有回答问题,它与图标直接相关,我不确定这个人使用的是二进制 wixlib(可重新分发)。我嵌入在 wixlib 中的添加/删除程序图标已经可以正常工作了。

4

1 回答 1

14

图像是通过绑定时变量指定的,而不是二进制元素。您的 .wixlib 可以包含变量值。WixUiBannerBmp中使用的方法可以在wixlib中设置吗?不使用 .wixlib,但其他方面是相同的。(一个 .wixlib 只是一个 .wixobj 文件的集合。)

WiX 帮助文件记录了“自定义内置 WixUI 对话框集”中的变量:

替换默认位图

WixUI 对话框库包括欢迎和完成对话框的背景以及其他对话框的顶部横幅的默认位图。您可以将这些位图替换为您自己的位图,以实现产品品牌化。要替换默认位图,请使用位图的文件名指定 WiX 变量值,就像替换默认许可证文本时一样。

例子:

<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
于 2011-07-22T21:17:45.337 回答