Записи таблицы свойств пакета 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, отличные от ранее установленного продукта.