Исправление WiX не обновляет файлы правильно - PullRequest
5 голосов
/ 06 мая 2011

Мои тестовые патчи 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 не распознает необходимость обновления исполняемого файла.

Почему?

Ответы [ 2 ]

4 голосов
/ 06 мая 2011

Тестировали ли вы обновление с полными MSI-файлами, прежде чем пытаться использовать патч?Исправления - это всего лишь механизм доставки обновлений, упакованных в более сжатой форме, если полное обновление MSI не работает, исправление также не будет работать.

3 голосов
/ 06 мая 2011

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

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

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

...