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

Sam*_*ack 7 wix wix3

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

例如,在"许可协议"页面中,我想将"我接受许可协议中的条款"更改为"我确认并接受上述协议的条款".


相关:
如何在运行时设置要在VerifyReadyDlg中显示的文本?

Sam*_*ack 16

我是这样做的:

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

    <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文件.在某些情况下,参考各个对话框源代码以查找在哪里使用哪些字符串是有帮助的.

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


BCr*_*ran 5

本章高级WiX的主题- >维克斯用户界面对话框图书馆- >自定义内置WixUI对话框设置的WiX的文档(wix.chm)在对定制用户界面的对话框,包括文本的所有信息.还有一个关于在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中,可以让您深入了解它的工作原理.