自定义标准Wix对话框中的文本

时间:2009-11-12 17:12:23

标签: wix wix3

我正在使用Wix标准对话框。如何自定义显示的消息文本?

例如,在“许可协议”页面中,我想将“我接受许可协议中的条款”更改为“我承认并接受上述协议的条款。”


相关:
How can I set at runtime the text to be displayed in VerifyReadyDlg ?

2 个答案:

答案 0 :(得分:16)

我是这样做的:

  1. 将新的本地化文件添加到我的Votive项目(即我的Visual Studio Wix项目) - 右键单击​​,添加 - >新物品...... - > Wix本地化文件
  2. 由于我是自定义英文文本,我确保文件中的Culture属性说 en-US
  3. 为我想要自定义的每个元素添加了String元素。 E.g。

    <WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
        <String Id="WelcomeEulaDlgLicenseAcceptedCheckBox">I accept the terms of the above Agreement</String>
    </WixLocalization>

  4. 为了确定我需要覆盖的字符串的ID,我查看了Wix源代码中的WixUI_en-us.wxl文件。在某些情况下,引用source code of the individual dialogs以查找在哪里使用哪些字符串会很有帮助。

  5. 最后需要注意的是,当您向项目添加本地化文件时,Wix会开始在本地化文件中为文化命名的子文件夹中输出msi文件。例如。我的写入 \ bin \ Debug \ en-u 而不是 \ bin \ Debug \

答案 1 :(得分:5)

章节高级WiX主题 - &gt; Wix UI对话库 - &gt;在WiX文档(wix.chm)中自定义内置WixUI对话框包含有关自定义UI对话框(包括文本)的所有信息。还有一个关于在http://www.tramontana.co.hu/wix/的WiX教程中自定义UI的主题。

如果您确实发现需要覆盖更多WiX的默认行为,最好的方法是下载源(例如从http://wix.sourceforge.net/releases/3.5.1030.0/wix35-sources.zip):所有UI对话框都在src \ ext \ UIExtension \ wixlib中,并将让您深入了解它的工作原理。

相关问题