c# - 如何在 WIX 的安装标题中显示版本号?

标签 c# visual-studio wix wix3

我需要在标题中显示版本号和应用程序名称。

目前看来

enter image description here

这是我的 Wix 片段:

<Product Id="$(var.ProductId)" Name="Test Application" Language="1033" Version="$(var.ProductVersion)" Manufacturer="Test1111 Inc" 
       UpgradeCode="C9BC6B42-FCAF-4E96-8F8F-E9D0AC4F393B">

如果我如下更改它(在 Name 属性中附加版本号),它将在标题、欢迎文本/描述的所有位置显示版本号,但我只想更改标题。

<Product Id="$(var.ProductId)" Name="Test Application $(var.ProductVersion)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="Test1111 Inc" 
       UpgradeCode="C9BC6B42-FCAF-4E96-8F8F-E9D0AC4F393B">

我们如何在 Wix 中实现这一点?

最佳答案

本地化覆盖:您可以尝试添加本地化文件,然后覆盖 WelcomeDlgTitle 字符串 ( the WiX GUI string list / list of string identifiers can be found here(英语):

  1. 请注意,这假设Mondo 对话集:
    • 添加到 WiX 标记: <UIRef Id="WixUI_Mondo" />
    • 添加对的引用%ProgramFiles(x86)%\WiX Toolset v3.11\bin\WixUIExtension.dll
    • WiX Hello World Sample in Visual Studio (底部带有注释的 WiX 标记通常足以让开发人员了解事情的要点)
  2. 在 Visual Studio 中右键单击您的 WiX 项目 => 添加 => 新项目...
  3. 选择 WiX v3 在左侧菜单中。双击 Localization file (添加 WiX v4 文件很常见,请仔细检查)
  4. 将下面的字符串添加到本地化文件中:

    <?xml version="1.0" encoding="utf-8"?>
    <WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
      <String Id="WelcomeDlgTitle">{\WixUI_Font_Bigger}Welcome to the [ProductName] [ProductVersion] Setup Wizard</String>
    </WixLocalization>
    
  5. 编译测试

示例对话框:

Sample WiX Title Change

WiX GUI:我自己对 WiX GUI 很困惑,因此我写了这个小概述和“检查列表”以便更好地记住(使用类似的方法更改对话框条目的样式): Changing text color to Wix dialogs .

链接:

关于c# - 如何在 WIX 的安装标题中显示版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55221550/

相关文章:

c# - 在 Unity 中使用资源文件夹

c# - 有没有工具可以在 Visual Studio 中选择一些代码并让它显示相应的 MSIL?

c++ - 在 Visual Studio 中从头开始学习 C++?

c++ - WiX 中的自定义对话框和移植

wix - Windows 10 上的 VersionNT MSI 属性

excel - MSI如何检测Excel是否正在运行

c# - 正确运行 SerializeObject 方法?

c# - 构造函数 block 是可以接受的样式吗?

c# - 有什么简单的方法可以在 C# 中创建方法并动态设置其主体吗?

c++ - _CPPLIB_VER 在哪里定义并且可以在 visual studio 中修改