Как заставить Installshield 2012 выполнить серьезное обновление?

Мой установщик выполняет незначительное обновление при переходе с 1.7.211 на 1.7.212, но я хочу, чтобы оно всегда выполняло серьезное обновление. Новый установщик должен всегда перезаписывать все, что установил предыдущий установщик, без исключения. Есть ли способ изменить проект installshield для достижения этой цели?

2 ответа

Для проектов MSI перейдите в область "Обновления" (в разделе "Медиа"). В разделе "Настройка установщика Windows" создайте новый элемент "Основные обновления". Для этого элемента выберите "В пределах определенного диапазона версии" и задайте максимальную версию, чтобы быть номером версии, который больше текущего (например, 1,8 в вашем случае).

Таким образом, когда установщик Windows обнаружит, что он должен работать в режиме обновления, он увидит, что установленная в настоящее время версия (1.7.11) применяется к правилу основного обновления, и продолжит выполнение основного обновления.

Я предполагаю, что вы используете базовый тип проекта MSI или InstallScript MSI. Для каждого выпуска вы должны предпринять необходимые шаги для серьезного обновления (и, если быть точным, это правило MSI, а не правило InstallShield).

В вашем проекте InstallShield создайте масштабное обновление в представлении "Обновления". Вы должны сказать "любая предыдущая версия" при настройке.

Затем для каждого выпуска необходимо увеличивать номер версии (одну из первых трех цифр, MSI игнорирует четвертую) и GUID кода продукта.

Я не согласен с вашим утверждением: "Новый установщик должен всегда перезаписывать все, что установил предыдущий установщик, без исключения". Существует много моделей развертывания, когда только обновление файлов, которые изменились между выпусками, является главным приоритетом. Если эта модель работает для вас в настоящее время, отлично. Просто будьте открыты для возможности незначительных обновлений и обновлений патчей и того, как они выглядят с точки зрения планирования выпуска.

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