You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WiX Bootstrapper项目中设置自定义ProductVersion?

WiX Bootstrapper自定义ProductVersion问题

在WiX Bootstrapper项目中,可通过Bundle元素的Version属性定义Bundle版本,示例代码如下:

<Bundle Name="Sample" Manufacturer="Sample Ltd." Version="1.0.0.0" UpgradeCode="5fffcf4d-b3e4-4eba-a850-ab8ab3fe501d">
</Bundle>

该Version属性值会被用于最终生成的.exe文件的FileVersion和ProductVersion字段。

我们需要将ProductVersion设置为自定义格式的值,例如1.0.0.0 cs203948,请问是否可行?目前我们使用ResourceHacker工具事后修改ProductVersion,但该工具在本地机器上出现“内存不足”等问题,因此希望不再依赖它。

更新1:

目前看来WiX本身并不支持这种自定义格式的ProductVersion,查看WiX源码中的UpdateBurnResources方法可知这一点。因此只能通过事后修改的方式调整ProductVersion。

我已尝试过以下工具:

  • ResourceHacker:在虚拟机中仍可运行,但在普通机器上无法正常使用(已联系工具开发者)
  • ResourceTuner:可用,但并非免费工具,且不清楚如何授权以集成到运行在多台电脑上的MSBuild流程中
  • RCEdit:修改后会损坏可执行文件
  • WinAPI的UpdateResourceA方法:修改后会损坏可执行文件

更新2:

  • StampVer:仅支持“X.X.X.X”格式的版本号,无法满足自定义需求

提前致谢!

内容的提问来源于stack exchange,提问作者roli09

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 01:03:16