【问题标题】:Changing text color to Wix dialogs将文本颜色更改为 Wix 对话框
【发布时间】:2019-03-10 07:56:16
【问题描述】:

我是使用 Wix 创建安装程序的新手,我设法完成了所有工作,并且安装程序按预期工作。我遇到的唯一问题是我为 WixUI_Minimal 对话框使用了背景和横幅图像,这些是深色图像,因此由于文本颜色为黑色,因此现在显示了一些文本。

我想知道如何根据需要将每个对话框上的文本颜色更改为另一种颜色。在许可协议所在的第一个屏幕中,我希望它是橙色的,而在顶部横幅的安装过程中,我希望它是白色的。我怎样才能做到这一点?

【问题讨论】:

    标签: wix windows-installer installation customization


    【解决方案1】:

    WiX 默认 GUI 集:默认 WiX MSI GUI 包含在 DLL WixUIExtension.dll 中。通常,您只需在 WiX 项目中添加对此文件的引用并指定 a default WiX GUI set,例如 <UIRef Id="WixUI_Mondo" /><UIRef Id="WixUI_Minimal" /> - 这已经足够了。 WixUIExtension.dll 文件可以在 %ProgramFiles(X86)% 下的主 WiX 安装目录中找到。

    1) 内置 WiX 对话框自定义:有一些方法可以稍微改变这些 WiX 设置对话框。此处描述了整体方法:Customizing Built-in WixUI Dialog Sets。我认为它应该足以满足您的目的。可能的调整: 1) 指定产品特定的许可协议文件。 2) 指定产品特定的设置 UI 位图。 3) 向 ExitDlg 添加一个可选的复选框和可选的文本。 4) 自定义内置对话框中显示的文本。 5) 更改内置对话框集的 UI 顺序。 6) 将自定义对话框插入到内置对话框集中。

    2) 更改默认对话框 - 高级对话框:除了通过上述方法稍微自定义对话框之外,您有时还需要进行大规模更改。然后,您需要将对话框源文件复制到您的项目文件夹中,然后根据他们的需要排列它们。这有点涉及,但不是火箭科学。 You simply copy the WiX dialog source files to your project folder。我认为这对于您的目的不是必需的。我将尝试挖掘一个描述该过程的链接。

    3) 外部 GUI:仅作记录,提及您可以通过MsiSetExternalUI function。 WiX 引导程序使用它来允许用户实现自己的设置 GUI。


    建议的方法:出于您的目的,我会在您的项目中添加一个本地化文件(除非您已经有一个):Right Click WiX Project => Add => New Item... => 确保在左侧窗格中选择了 WiX 3 => Double click "Localization File"。在 WiX 本地化文件中,覆盖要覆盖的字符串。这是在新的 WiX 本地化文件 (*.wxl) 中指定的 WelcomeEulaDlg's "Title" 字符串:

    <String Id="WelcomeEulaDlgTitle">{\Test}This is my custom string3!</String>
    

    在您的项目文件中:

    <UI>
      <UIRef Id="WixUI_Minimal" />
      <TextStyle Id="Test" FaceName="Arial" Blue="255" Size="12" Strike="yes" />
    </UI>
    

    设置颜色的线索是TextStyle element。您可以操纵RedBlueGreen 属性来获得您想要的颜色。有问题的对话框可以在 WiX git 存储库中找到:WelcomeEulaDlgTitle。然后,您在本地化字符串中引用 TextStyle(在本例中为 Test),使用这个有趣的符号:{\Test}。请参阅上面的字符串。根据需要更新并添加 TextStyle 标识符。这是编译后的实际对话框:

    为了方便


    写完上面发现这个,基本上是一样的,更简洁的形式没有截图:Customizing text in the standard Wix dialogs

    【讨论】:

      【解决方案2】:

      感谢您的回答。我可以通过查看 Wix SDK 的源代码并检查哪些是我想要自定义的元素的 ID 来管理它。 在本地化文件 (.wxl) 以及我引用的 Product.wix 中自定义了字符串。

      【讨论】:

        猜你喜欢
        • 2015-04-10
        • 2016-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        相关资源
        最近更新 更多