Записи таблицы свойств пакета MSI для включения обновлений - PullRequest
1 голос
/ 07 февраля 2012

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

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

=========

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

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

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

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

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

0 голосов
/ 13 февраля 2012

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

Таблица InstallExecuteSequence

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

InstallUISequence Table

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

PropertyTable

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

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

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

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

...