2016-05-20 3 views
1

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

+0

Какой тип проекта? MSI или не MSI? Basic или InstallScript? – yossiz74

+0

msi type думаю. (Производятся как .exe, так и .msi, а .exe извлекает msi как часть процесса установки), не уверен, что это базовый или установочный. Я вообще никогда, никогда не хочу делать небольшое обновление. Я хочу, чтобы он учитывал любые изменения в номере версии, чтобы составить основное обновление. – ChopperCharles

ответ

0

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

В своем проекте InstallShield создайте Major Upgrade в представлении Upgrades. При настройке вы должны сказать «любая предыдущая версия».

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

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

+0

Зачем мне прикоснуться к GUID кода продукта? Не следует «заботиться» об этой «предыдущей версии»? Есть ли способ связать это непосредственно с номером версии, так что все автоматически при создании новой сборки? – ChopperCharles

+0

Если вы хотите произвести серьезное обновление, вам нужно перевернуть код продукта GUID. Это лишь часть того, как работает MSI. Вы также не хотите откатывать GUID продукта с каждой сборкой. Каждый релиз в порядке. Я хочу повторить, что автоматическое форсирование крупного обновления с каждой версией - это что-то, что нужно пересмотреть. –

1

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

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

Смежные вопросы