我有一个非常简单的 WiX 项目(版本 3.7),它安装了一些文件(一个 .NET 程序版本 6.0.0.0)。我已准备好使用 WiX 中的 MajorUpgrade 功能发布新版本 6.0.1.0。
我在 Product 元素中保持 UpgradeCode 相同,并将版本从 6.0.0.0 更改为 6.0.1.0
<Product Id="*" Name="MyApp" Version="6.0.1.0" Manufacturer="Me"
UpgradeCode="$(var.TheUpgradeCodeGUID)">
在安装了 6.0.0.0 的机器上,我运行新的安装程序。
旧版本 6.0.0.0 的删除运行正常(正在删除所有已安装的文件),但是当安装程序继续安装新版本时,缺少 2 个文件:第 3 方 DLL 和第 3 方 EXE(没有已更改)未重新安装。
<Component Id="AutomaticUpdaterWPF.dll" Guid="*">
<File Id="AutomaticUpdaterWPF.dll" Source="AutomaticUpdaterWPF.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="wyUpdaterProgram" Guid="*">
<File Id="wyUpdaterProgram" Source="wyUpdate.exe" KeyPath="yes" Checksum="yes" />
</Component>
< ComponentGroup > 中的所有其他文件(一些已修改,一些未修改,包括其他第 3 方 DLL)在主要升级期间正确安装。
如果我在重大升级后单击“修复”,则丢失的 2 个文件会重新出现。另外,如果我是第一次安装 6.0.1.0 版本(不升级,而是在干净的机器上首次安装),那么这两个文件是直接正常安装的。(在多台 Windows 机器上测试(XP、7 和 8)
有人建议什么是错的以及如何解决它?