如何在 WiX 制作的 MSI 文件属性中显示产品版本?

问题描述 投票:0回答:3

如何在 MSI 文件属性中显示产品版本(如 Windows 资源管理器所示)?

我们的安装程序是使用 WiX 创建的。我们所看到的只是在 MSI 文件属性的“详细信息”选项卡中显示为修订号的产品 GUID。

我们希望获得产品版本(例如:

5.0.1.12345
),以便支持团队(和客户)可以轻松检查给定文件的版本。

wix windows-installer
3个回答
12
投票

只需将 Comments 属性 添加到 Package 标签,如下所示。

<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="Version: 5.0.1.12345" />

没有要设置的版本属性。因此,作为替代方案,我们将其添加到 comments 属性中。所以可以在msi的属性中看到。


11
投票

我认为您实际上无法在 WIX 中设置 MSI 文件的文件版本。我们所做的是编辑包的描述属性。

<Package InstallerVersion="200" Description="Version: !(bind.FileVersion.filD6DA798364FCF1273EEE80AEF914C743)" InstallScope="perMachine" ...

然后我们还确保产品使用相同的版本:

<Product Id="*" Name="Name" Language="1033" Version="!(bind.FileVersion.filD6DA798364FCF1273EEE80AEF914C743)" ...

描述在您的 MSI 文件属性中可见,因此版本将在描述中可见。我希望这就是你想要的!


0
投票

(只是为了详细说明 @LeoN 和 @westerstrom 的其他 2 个答案,我想我应该展示这些 WiX 属性如何在文件资源管理器中显示)

WiX 3

在 WiX 3.x 中,我们可以

<Product Name="" Version>
,并且
<Package Description="" Comments="" />
:

<Wix>
    <Product
        Name="Product-Name !(bind.fileVersion.File_MyProgram_exe)"
        Version="$(var.VersionNumber)"
    >
        <Package
            Description="Product-Package-Description !(bind.FileVersion.File_MyProgram_exe)"
            Comments="Product-Package-Comments !(bind.FileVersion.File_MyProgram_exe)"
        />

...看起来像这样:

向导 文件详情
文件资源管理器列
  • <Product Name=""
    对应于向导中的文本和标题栏文本,但不对应于任何
    .msi
    文件属性或文件资源管理器列。
  • <Package Description=""
    对应于 描述 > 主题,无列。
  • <Package Comments=""
    对应于文件资源管理器中的描述 > 注释注释列。
  • 只有
    <Product Manufacturer=""
    <Package Comments=""
    出现在文件资源管理器列中,而所有其他文件资源管理器的描述和版本列均为空白(令人惊讶)。

WiX 4

在 Wix 4 中,

<Product>
<Package>
元素被组合,但最终结果是相同的。

© www.soinside.com 2019 - 2024. All rights reserved.