Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WiX patching not updating files correctly

My "admin-image" style WiX test patches are failing to update the existing installation correctly. When using msiexec /lx, I get the following information related to patching "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

So even though the version number is changing, and Windows Installer notes that the patch modifies the file, Windows Installer is not recognizing that there should be an update to the executable.

Why?

like image 635
colin.t.welch Avatar asked May 05 '11 20:05

colin.t.welch


2 Answers

Have you tested the upgrade with complete MSI files first before trying with the patch? Patching is just a delivery mechanism for upgrades packaged in a more compressed fashion, if the full MSI upgrade doesn't work, neither will the patch.

like image 142
Stein Åsmul Avatar answered Oct 10 '22 16:10

Stein Åsmul


Try to install your patch with this command line:

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

Without these additional parameters, my patch failed to install correctly: it didn't update any files.

like image 32
Alexey Ivanov Avatar answered Oct 10 '22 17:10

Alexey Ivanov