如何在WIX中显示MSI安装程序标题中的版本号?

如何在WIX中显示MSI安装程序标题中的版本号?,wix,windows-installer,installation,Wix,Windows Installer,Installation,我只想在标题中显示版本号,而不想在其他任何地方显示。甚至在“欢迎使用XYZ安装向导”行中也没有。通过更改产品线中的名称 有很多副作用。有人能帮我吗?字符串覆盖:如果你指的是顶部的标题栏(见下面的屏幕截图),你可以尝试覆盖字符串id“WelcomeDlg\u title”(与WelcomeDlgTitle相反-是的,它们不同,仔细看)-并在\u Title中为此目的执行此操作: <?xml version="1.0" encoding="utf-8"?> <WixLocaliz

我只想在标题中显示版本号,而不想在其他任何地方显示。甚至在“欢迎使用XYZ安装向导”行中也没有。通过更改产品线中的名称

有很多副作用。有人能帮我吗?

字符串覆盖:如果你指的是顶部的标题栏(见下面的屏幕截图),你可以尝试覆盖字符串id
“WelcomeDlg\u title”
(与
WelcomeDlgTitle
相反-是的,它们不同,仔细看)-并在
\u Title
中为此目的执行此操作:

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">

  <...>

  <String Id="WelcomeDlg_Title">[ProductName] - [ProductVersion]</String>

  <String Id="SetupTypeDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="WelcomeEulaDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="BrowseDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="CancelDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="CustomizeDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="LicenseAgreementDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="VerifyReadyDlg_Title">[ProductName] - [ProductVersion]</String>
  <String Id="WaitForCostingDlg_Title">[ProductName] - [ProductVersion]</String>

  <...etc...>

</WixLocalization>

[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
[ProductName]-[ProductVersion]
摘要:您只需执行以下操作:

  • 以正常方式设置WiX项目,添加UI支持:
    WixUIExtension.dll
  • 添加本地化文件(适用于任意数量的语言)
  • 在所有本地化文件中重写此字符串ID,并插入版本
    [ProductVersion]
现有答案:请参阅以下答案,而不是重复完整的过程:


?你说的头衔是什么意思?对话框上边框的左上角?它只更改了屏幕截图中显示的第一个屏幕上的标题。在下一个屏幕中,再次出现许可协议的位置,名称是productName。我想更改所有屏幕上的标题。听起来就像你想要的那样:“……只在标题中,而不是在其他任何地方”。无论如何,如果你想这样做,我认为你需要使用更复杂的机制来定制对话框。看起来并非所有标准对话框的标题都可以覆盖。@MehulParmar用一些小技巧更新了答案,应该可以满足您的要求,但它有点凌乱,而且只适用于标题栏。您必须对以
\u Title
结尾的所有项目执行此操作。上面的列表不完整。。