使用Wix3.6,刚刚开始使用burn创建引导程序,以简化客户端的升级过程。
不幸的是,尽管它构建得很好,但引导程序无法运行,退出时出现以下错误:- ...错误 0x8002000a:无法将版本:x.x.x.239836 转换为产品代码的 DWORD64 ...
我理解这是因为 MSI 忽略的第四个组件无法被引导程序解析,因为它超过了 65535。我认为这与引导程序的版本要求所有组件单独小于 65535 这一事实有关。
我在网上发现的内容相当旧,似乎表明唯一的解决方案是修复现有的安装,例如通过应用次要更新或补丁将缓存的安装程序更新到具有完全兼容版本号的版本或进行卸载。对于我们的特定应用和环境来说,这些都不是有吸引力的选择。
我发现了几个链接:- https://github.com/wixtoolset/issues/issues/4443 https://github.com/wixtoolset/wix3/pull/65
任何人都可以确认这是否仍然是一个问题(对于 WiX v3 和 v4)或者是否有一些可用的修复 - 例如定义默认操作的burn变量(例如将组件值设置为65535或0,或者失败)如果发生错误?
非常感谢。
Burn 在 v4 中进行了更新,以支持更大范围的版本号。我认为没有针对您的版本号的特定变体的测试,因此您需要对其进行测试。