如何在 MSI 文件属性中显示产品版本(如 Windows 资源管理器所示)?
我们的安装程序是使用 WiX 创建的。我们所看到的只是在 MSI 文件属性的“详细信息”选项卡中显示为修订号的产品 GUID。
我们希望获得产品版本(例如:
5.0.1.12345
),以便支持团队(和客户)可以轻松检查给定文件的版本。
只需将 Comments 属性 添加到 Package 标签,如下所示。
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="Version: 5.0.1.12345" />
没有要设置的版本属性。因此,作为替代方案,我们将其添加到 comments 属性中。所以可以在msi的属性中看到。
我认为您实际上无法在 WIX 中设置 MSI 文件的文件版本。我们所做的是编辑包的描述属性。
<Package InstallerVersion="200" Description="Version: !(bind.FileVersion.filD6DA798364FCF1273EEE80AEF914C743)" InstallScope="perMachine" ...
然后我们还确保产品使用相同的版本:
<Product Id="*" Name="Name" Language="1033" Version="!(bind.FileVersion.filD6DA798364FCF1273EEE80AEF914C743)" ...
描述在您的 MSI 文件属性中可见,因此版本将在描述中可见。我希望这就是你想要的!
(只是为了详细说明 @LeoN 和 @westerstrom 的其他 2 个答案,我想我应该展示这些 WiX 属性如何在文件资源管理器中显示)
在 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 中,
<Product>
和 <Package>
元素被组合,但最终结果是相同的。