我正在使用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"中重复。请删除其中一个条目或重命名主键的一部分以避免冲突。
如何更改字体?
编辑:我以一种巧妙的方式解决了这个问题,在UI部分添加了一个TextStyle,如下所示:
<TextStyle Id="My_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" Blue="255" Red="255" Green="255" />
然后将自定义字符串添加到CCD_ 1文件中,用相同的文本但也使用字体设置来覆盖原稿。
<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>
我在这个问题上加了一笔奖金,希望能找到正确的方法。
目前没有办法覆盖TextStyle
元素。要么保持当前的操作方式,要么在MSI后期构建中执行SQL查询以更新WixUI_Font_TitleTextStyle条目。
MSI文档中有一个关于在Execute SQL Statements
下的MSI上执行SQL的帮助页面(如果您安装了WiX,则为doc.MSI.chm)。当然,您可以使用MSI API或DTF来代替脚本。
您的更新声明看起来像:
UPDATE `TextStyle` SET `Color` = 16777215 WHERE `TextStyle` = 'WixUI_Font_Title'
文档在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.