如何为Wix生成的MSI安装包属性添加应用版本号
提问
我有一个应用使用Wix制作安装程序,请问是否有方法可以将version number(构建号)添加到MSI的属性中,如下图所示:
谷歌Chrome安装程序就是将版本信息添加在了comment字段中。
解答
可以实现,你可以通过Wix内置的SummaryInformation元素自定义MSI的所有摘要属性,包括你提到的Comment(中文系统对应「备注」字段),具体操作如下:
- 首先在Wix工程的.wxs源文件中定义版本变量,也可以直接使用构建流程传入的动态版本号,无需手动修改源码
- 在
Product节点下添加SummaryInformation配置,将版本号赋值给Comments属性即可
示例配置代码:
<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <!-- 定义产品版本变量,构建时可通过参数动态覆盖 --> <?define ProductVersion="1.2.3.4" ?> <Product Id="*" Name="我的应用" Language="1033" Version="$(var.ProductVersion)" Manufacturer="厂商名称" UpgradeCode="你的应用唯一升级GUID"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> <!-- 自定义MSI摘要属性 --> <SummaryInformation Comments="版本号:$(var.ProductVersion)" Subject="我的应用安装程序" Manufacturer="厂商名称" /> <!-- 其余Wix配置(目录、组件、安装逻辑等) --> </Product> </Wix>
如果是在CI/CD流水线中自动生成构建号,可以在调用Wix的candle编译工具时通过参数传入版本号,示例命令:candle.exe -dProductVersion=%CI_BUILD_NUMBER% yourProject.wxs
编译完成后生成的MSI文件,右键查看属性的「详细信息」页,就可以在备注字段看到你填入的版本号,和Chrome安装包的实现效果完全一致。
内容的提问来源于stack exchange,提问作者kudlatiger
相关产品推荐
相关产品推荐

