使用WiX扩展自定义字体



我正在使用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.

相关内容

  • 没有找到相关文章

最新更新