Можем ли мы доставить обновленный текстовый файл (любой не версионный файл) в MSP

Шаг 1: У меня есть обновленный msi, в котором есть новый текстовый файл: env.info, сгенерированный из него msp, помещает этот текстовый файл в папку.

Шаг 2: Я обновил этот текстовый файл и снова сгенерировал msp, теперь этот msp не заменяет новый файл.

Любая идея, как обрабатывать не версионные файлы в MSP?

1 ответ

Скорее всего, проблема заключается в том, что правила перезаписи запрещают замену не версионных файлов, которые были обновлены после установки:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa370531(v=vs.85).aspx

и вы можете проверить это, если создадите журнал MSI установки патча.

Самое безопасное решение, как здесь:

https://blogs.msdn.microsoft.com/astebner/2013/05/23/updating-the-last-modified-time-to-prevent-windows-installer-from-updating-an-unversioned-file/

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

Лучшее решение этой проблемы - установить в качестве ключевого пути файла данных версионные двоичные сопутствующие файлы.

Другие вопросы по тегам