覆盖Wix中的文本颜色

时间:2017-05-09 00:23:46

标签: wix

我正在努力学习wix工具集,目前我想做一些我认为非常简单的事情:更改工具集中定义的对话框中显示的文本颜色。

我找到了一个stackoverflow的答案,说我可以通过自定义WixUI_Minimal(这是我正在使用的对话框集),给它一个不同的ID,并在我的主wix文件中引用该ID来做到这一点。定制只是为了这样做:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Fragment>
    <UI Id="WixUI_Custom">
      <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
      <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
      <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" Red="255" />

我的主要wxs文件中的引用将更改为:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*"
           Name="Lan History Manager"
           Language="1033"
           Version="0.5.0.0"
           Manufacturer="Jump for Joy Software"
           UpgradeCode="EB2D1FB0-A72E-466C-B12D-BCF84277E2DA">

    <Package InstallerVersion="500"
             Compressed="yes"
             InstallScope="perMachine"
             Manufacturer="Jump for Joy Software"
             Description="Installs a tool for managing Windows File History backups to network shares"
             Comments="(C) 2017 Mark A. Olbert all rights reserved"/>

    <UIRef Id="WixUI_Custom"/>

不幸的是,这不起作用。当我编译项目时,它会生成许多错误,抱怨重复的符号,所有这些符号似乎都与WixUI_Minimal&#34;模板的其他部分有关。我没有改变。

我的项目中没有WixUI_Minimal的任何定义,也没有对WixUI_Minimal的引用,所以它不应该拖动重复的符号。

但显然是。

是否还有其他方法可以更改对话框中的文字颜色?

1 个答案:

答案 0 :(得分:2)

WiXUI_ *只能以有限的方式进行扩展和覆盖。要去你想去的地方,你几乎不得不复制它并拥有它。转到WiX源并在UI扩展中找到定义所有这些的文件。将它们克隆到您的项目中并消除UI扩展。现在你可以去改变你想要的任何东西了。

或者,您也可以决定在MSI中完全静默,并在刻录引导程序主题和/或客户引导程序应用程序中完成所有UI工作。