【问题标题】:How show version number in title of installation in WIX?如何在 WIX 中的安装标题中显示版本号?
【发布时间】:2019-03-18 12:36:48
【问题描述】:

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

目前看来

这是我的 wix sn-p:

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

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

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

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

【问题讨论】:

  • 不确定,您可以使用上面的 sn-p。 MSI 在标准对话框中显示ProductName。可能,您需要创建自己的 wix UI 对话框并在其上添加信息
  • 谢谢@PavelAnikhouski 这个有链接/示例吗?

标签: c# visual-studio wix wix3


【解决方案1】:

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

  1. 请注意,这假定 Mondo 对话框集:
    • 添加到 WiX 标记:&lt;UIRef Id="WixUI_Mondo" /&gt;
    • 添加对%ProgramFiles(x86)%\WiX Toolset v3.11\bin\WixUIExtension.dll的引用
    • WiX Hello World Sample in Visual Studio(WiX 标记,cmets 朝向底部,通常足以让开发人员了解事情的要点)
  2. 在 Visual Studio 中右键单击您的 WiX 项目 =&gt; 添加 =&gt; 新项目...
  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. 编译测试

示例对话框

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

链接

【讨论】:

    【解决方案2】:

    WiX UI 扩展不允许这种类型的自定义。你的两次机会是

    1) 定义 Name="Test Application $(var.ProductVersion)" (副作用。版本在程序和功能中列出两次

    2) 停止使用 WiXUI 扩展,而是将 https://github.com/wixtoolset/wix3/tree/develop/src/ext/UIExtension/wixlib 中的所有代码克隆到您的项目中。

    【讨论】:

    • 我在本地化文件方面遇到了一些运气,但我不确定这是否是“公认的方法”。我也尝试将项目添加到现有对话框中,我想我看到有人成功了,但我再也找不到了。
    • 添加到 UI 中非常容易,但如果尚未内置变化点覆盖,则很难更改某些内容。
    • MSI GUI:完全矫枉过正,完全反模式。不过考虑到 WiX 确实做得很好。我想知道 GUI 的局限性有多大,而且会更好?只需几个控件:编辑、标签、组合、复选框、按钮和一些有效的简单事件就可以解决问题。吐槽结束。
    • 如果一切都是微包并且与配置分离,这只是矫枉过正。我有很多安装,没有更多的欢迎、准备、安装、完成,但我也有需要更多的安装。我通常认为 MSI UI 可以满足我的需求。
    • 我一直讨厌这些事件的问题,但这是一个更大的讨论。我想知道接下来会发生什么。
    猜你喜欢
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    相关资源
    最近更新 更多