WiX修补无法正确更新文件

时间:2011-05-05 20:09:15

标签: wix windows-installer wix3 wix3.5

我的“admin-image”样式WiX测试补丁无法正确更新现有安装。使用msiexec / lx时,我得到以下有关修补“fi_executable.exe”的信息:

MSI (s) (88:E0) [12:32:41:716]: Baseline: Patch {E244BAC8-7E62-4406-889B-4B67A4EA7369} modified fi_executable.exe with full-file update.
MSI (s) (88:E0) [12:32:41:716]: Baseline: First patch for fi_executable.exe, saving native info.
MSI (s) (88:E0) [12:32:41:716]: Baseline: fi_executable.exe version for baseline at patch Native: 6.0.5803.11, 1033, 53840.
...
MSI (s) (88:E0) [12:32:41:716]: Baseline: fi_executable.exe version for baseline at patch {E244BAC8-7E62-4406-889B-4B67A4EA7369}: 6.0.5830.99, 1033, 47104.
...
MSI (s) (88:E0) [12:32:41:763]: {E244BAC8-7E62-4406-889B-4B67A4EA7369} File: fi_executable.exe ValData: 6.0.5830.99 1033 47104
...
MSI (s) (88:E0) [12:32:41:763]: Native File: fi_executable.exe ValData: 6.0.5803.11 1033 53840
...
MSI (s) (88:E0) [12:32:42:543]: The file represented by File table key 'fi_executable.exe' has no eligible binary patches

因此,即使版本号正在更改,并且Windows Installer注意到修补程序修改了该文件,Windows Installer也无法识别应该对可执行文件进行更新。

为什么?

2 个答案:

答案 0 :(得分:4)

在尝试使用补丁之前,您是否先使用完整的MSI文件测试了升级?补丁只是一种以更加压缩的方式打包的升级的交付机制,如果完整的MSI升级不起作用,补丁也不会。

答案 1 :(得分:3)

尝试使用以下命令行安装补丁:

msiexec /p patch.msp /qb REINSTALL=ALL REINSTALLMODE=omusa

如果没有这些附加参数,我的补丁无法正确安装:它没有更新任何文件。