我正在努力学习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的引用,所以它不应该拖动重复的符号。
但显然是。
是否还有其他方法可以更改对话框中的文字颜色?
答案 0 :(得分:2)
WiXUI_ *只能以有限的方式进行扩展和覆盖。要去你想去的地方,你几乎不得不复制它并拥有它。转到WiX源并在UI扩展中找到定义所有这些的文件。将它们克隆到您的项目中并消除UI扩展。现在你可以去改变你想要的任何东西了。
或者,您也可以决定在MSI中完全静默,并在刻录引导程序主题和/或客户引导程序应用程序中完成所有UI工作。