在另一个关于为 WiX 安装程序设置产品版本属性的问题中(如何将 WiX 安装程序版本设置为当前构建版本?),投票最多的答案(我已经尝试过并且有效)建议:
“您可以使用Product/@Version="!(bind.FileVersion.<FileId>)"
Light.exe 将使用 FileId 引用的文件版本填充该值。”
...这很好,但在使用 WiX VS 项目的收获功能时,在 Visual Studio WiX 项目中显得有些脆弱,因为可执行文件的 FileId可能会发生变化。
除了使用 FileVersion 预处理器扩展 ( http://wixfileversionext.codeplex.com/ )之外,还有更安全的方法可以从 Visual Studio 中自动生成的 .wxs 文件中引用特定文件吗?