У меня есть установочный скрипт InstallShield 12. Я хочу удалить старую версию перед установкой новой версии. Я оставлю название пакета без изменений. Как я могу это сделать?
Принудительное удаление Installshield перед установкой
Ответы (2)
Предполагая, что это не проект MSI и вы сохранили тот же GUID проекта, вы можете просто вызвать ComponentUninstall()
в функции OnMaintUIBefore
. Если GUID проекта не совпадает, вы можете посмотреть строку удаления в реестре под HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{PROJECT_GUID}
, а затем выполнить с ней LaunchApp.
Надеюсь, поможет.
В проекте на основе MSI это можно сделать, настроив основное обновление для вашего проекта. Обновления не существуют для проектов InstallScript, но нет никаких ограничений установщика Windows, чтобы вы не могли запускать несколько установок одновременно. Вы должны иметь возможность просто запустить удаление предыдущей версии вручную в своем коде InstallScript (возможно, в функции OnFirstUIBefore).