У меня возникли проблемы с пониманием того, как InstallShield обрабатывает обновления.
Я хочу, чтобы иметь возможность увеличивать номер версии в установщике, перекомпилировать и распространять мой установщик. Это должно автоматически удалить любую предыдущую версию приложения и установить последнюю версию (и она должна быть представлена пользователю как "обновление" ).
Это очень простой установщик, он просто выводит из нескольких проектов Visual Studio (приложение EXE, некоторые библиотеки DLL и т.д.) и устанавливает их все в Program Files. Существует только одна функция и она всегда установлена.
Я не хочу менять код обновления продукта, потому что тогда мне придется создавать новые пути обновления (по одному для каждой предыдущей версии), что является грязным.
Я пробовал это раньше (увеличивая номер версии, но не меняя код продукта или код обновления), но каждый раз, когда я это делаю, когда я запускаю установщик для "обновления" продукта, он говорит "Возобновление мастер для [ProductName]", а иногда некоторые из файлов не заменяются их новыми коллегами из более нового установщика.
Я не увеличиваю число "ревизий" номера версии. Я знаю, что это игнорируется. Как правило, я попробую что-то вроде 2.0.3 => 2.0.4
.
Как настроить InstallShield так, чтобы он автоматически удалял любые предыдущие версии, устанавливал самую новую версию и представлял ее пользователю как "Обновление" или "Обновление", если у них уже установлена предыдущая версия? Если нет, он должен быть установлен как обычный ( "Установить", а не "Обновить" ).
Я использую InstallShield 2013 Pro (версия 20 SP1), и я использую редактор InstallShield в Visual Studio 2010.