У меня возникли проблемы с пониманием того, как InstallShield обрабатывает обновления.Всегда выполнять удаление/переустановку во время обновления
Я хочу, чтобы иметь возможность увеличивать номер версии в установщике, перекомпилировать и распространять мой установщик. Это должно автоматически удалить любую предыдущую версию приложения и установить последнюю версию (и она должна быть представлена пользователю как «обновление»).
Это очень простой установщик, он просто выводит из нескольких проектов Visual Studio (приложение EXE, некоторые библиотеки DLL и т. Д.) И устанавливает их все в программные файлы. Существует только одна функция, и она всегда установлена.
Я не хочу менять код обновления продукта, потому что мне пришлось бы создавать новые пути обновления (по одной для каждой предыдущей версии), что является грязным.
Я пробовал это раньше (увеличивая номер версии, но не меняя код продукта или код обновления), но каждый раз, когда я это делаю, когда я запускаю установщик для «обновления» продукта, он говорит: Возобновление работы мастера для [ProductName] ", а иногда некоторые из файлов не заменяются их новыми коллегами из более новой программы установки.
Я не увеличиваю число «ревизий» номера версии. Я знаю, что это игнорируется. Как правило, я попробую что-то вроде 2.0.3 => 2.0.4
.
Как настроить InstallShield так, чтобы он автоматически удалял любые предыдущие версии, устанавливал самую новую версию и представлял ее пользователю как «Обновление» или «Обновление», если у них уже установлена предыдущая версия? Если нет, он должен быть установлен как обычный («Установить», а не «Обновить»).
Я использую InstallShield 2013 Pro (версия 20 SP1), и я придерживаюсь с помощью InstallShield редактора в Visual Studio 2010.
Какой тип проекта вы используете? Installscript MSI, Basic MSI, чистый Installscript? –
Я считаю, что это базовый проект MSI, но я не знаком с InstallShield, поэтому не знаю точно. Он имеет файл '.isproj' и файл' .ism' в папке проекта. – qJake
Я думаю, что вы сможете достичь того, чего хотите, просто обновив таблицу Upgrade в дополнение к тому, что вы уже делаете. Прочтите это, пожалуйста: http://apprepack.blogspot.no/2012/06/msi-upgrade-table.html. По существу обновите поле VersionMax. Это предполагает, что настройка уже настроена для основного сценария обновления. –