Записи таблицы свойств пакета MSI для включения обновлений

Я использую программу MSICREATE для генерации MSI-пакетов для части программного обеспечения. Затем я использую orca для преобразования пакета MSI. Все работает нормально, но пользователи должны удалить существующий продукт перед установкой обновления. Я хотел бы изменить пакет msi, чтобы установщик узнал, что установлена ​​новая или другая версия, удаляет текущую версию и затем устанавливает новый пакет msi.

Какие записи в таблице свойств необходимы?

=========

Ответ, приведенный ниже, помог мне выйти за рамки моей первоначальной проблемы, и я благодарю Ciprian за его помощь. Мое серьезное обновление msi теперь удаляет существующий продукт, НО не полностью переустанавливает продукт. Мой продукт состоит из нескольких текстовых файлов, файла справки и файла.exe. Файл.exe не переустанавливается.

Для чего бы это ни стоило, я добавил ответ ниже, который суммирует то, что я добавил в свой MSI, используя orce

2 ответа

Решение

Я не знаю, как MSICREATE обрабатывает сценарий обновления. Однако вы можете достичь этого, используя ORCA. Вот подробный пример обновления с MSDN.

Короче говоря, оба ваших пакета должны совместно использовать код UpgradeCode. Также вы должны создать запись в таблице обновлений второго пакета.

Вот то, что я добавил в свою MSI, используя orca для значительного обновления. Как я уже говорил выше, у меня все еще есть проблема в том, что мой файл.exe не переустанавливается при серьезном обновлении..Exe добавляется, если кто-то делает ремонт.

InstallExecuteSequence Table

  • добавлен FindRelatedProducts с последовательностью 400
  • добавлено RemoveExistingProducts с последовательностью 1450

InstallUISequence Table

  • добавлен FindRelatedProducts с последовательностью 200

PropertyTable

  • добавлено RemovePreviousVersions TRUE
  • добавлено SECURECUSTOMPROPERTIES SOLARUPGRADE
  • существовал код UpgradeCode с guid, созданный MSICREATE
  • существующий ProductVersion 12.2.12.0 создал мой MSICREATE

Добавлена ​​таблица обновлений

  • UpgradeCode то же значение, что и Upgrade в таблице свойств
  • VersionMin null
  • VersionMax 99.12.31
  • Атрибуты 1
  • ActionProperty SOLARUPGRADE (то же значение, что и SECURECUSTOMPROPERTIES в таблице свойств)

Я также назначил новый PackageCode и новый ProductCode, чтобы новый msi имел значения PackageCode, ProductCode и ProductVersion, отличные от ранее установленного продукта.

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