我正在使用Windows Installer XML CommonUi Extension中的Windows服务对话框。
标题文字后面有一个深色的横幅位图,所以我想改变标题字体的颜色。我尝试将其添加到我的.wxs:
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="8" Blue="255" Red="255" Green="255" />
这没有扩展,但现在我使用扩展程序我收到此错误:
主键'WixUI_Font_Title'在表'TextStyle'中重复。请删除其中一个条目或重命名主键的一部分以避免冲突。
如何更改字体?
<TextStyle Id="My_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" Blue="255" Red="255" Green="255" />
然后将自定义字符串添加到.wxl
文件中,该文件使用相同的文本但也使用字体设置覆盖原件。
<String Id="ProgressDlgTitleInstalling">{\My_Font_Title}Installing [ProductName]</String>
<String Id="ProgressDlgTitleChanging">{\My_Font_Title}Changing [ProductName]</String>
<String Id="ProgressDlgTitleRepairing">{\My_Font_Title}Repairing [ProductName]</String>
<String Id="ProgressDlgTitleRemoving">{\My_Font_Title}Removing [ProductName]</String>
我正在为这个问题添加一笔赏金,以期找到合适的方法。
答案 0 :(得分:1)
目前无法覆盖TextStyle
元素。要么保留当前的工作方式,要么在MSI后期构建上执行SQL查询以更新WixUI_Font_Title TextStyle条目。
在MSI doc Execute SQL Statements
下的MSI上执行SQL的帮助页面(如果安装了WiX,则为doc \ msi.chm)。当然,您可以使用MSI API或DTF而不是脚本。
您的更新语句如下所示:
UPDATE `TextStyle` SET `Color` = 16777215 WHERE `TextStyle` = 'WixUI_Font_Title'
documentation可以在Color
列中说明这一点:
The value put in this column should be computed using the following formula: 65536 * blue + 256 * green + red, where red, green, and blue are each in the range of 0-255.