Исправление WiX не обновляет файлы правильно

Мои тестовые патчи WiX в стиле «admin-image» не могут правильно обновить существующую установку. При использовании 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 отмечает, что исправление изменяет файл, установщик Windows не распознает необходимость обновления исполняемого файла.

Почему?


person colin.t.welch    schedule 05.05.2011    source источник


Ответы (2)


Вы тестировали обновление с полными файлами MSI, прежде чем пытаться использовать патч? Патч — это просто механизм доставки обновлений, упакованных в более сжатом виде, если полное обновление MSI не работает, то и патч не будет работать.

person Stein Åsmul    schedule 05.05.2011
comment
Вот несколько советов по исправлению: stackoverflow.com/a/23450821. Ни в коем случае не полный и несколько хаотичный. - person Stein Åsmul; 01.07.2014

Попробуйте установить патч с помощью этой командной строки:

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

Без этих дополнительных параметров мой патч не установился корректно: он не обновлял никакие файлы.

person Alexey Ivanov    schedule 06.05.2011