Принудительное удаление Installshield перед установкой - PullRequest
1 голос
/ 13 марта 2009

У меня есть InstallShield 12 installscript. Я хочу удалить старую версию перед установкой новой. Я оставлю название пакета без изменений. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 21 января 2010

Предполагая, что это не проект MSI, и вы сохранили тот же GUID проекта, вы можете просто вызвать ComponentUninstall() в функции OnMaintUIBefore. Если GUID проекта не совпадает, вы можете посмотреть строку удаления в реестре под HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{PROJECT_GUID}, а затем сделать LaunchApp с этим.

Надеюсь, это поможет.

1 голос
/ 05 мая 2009

В случае проекта на основе MSI это может быть достигнуто путем настройки Major Upgrade для вашего проекта. Для проектов InstallScript не существует обновлений, но нет никаких ограничений для установщика Windows, которые не позволяют запускать несколько установок одновременно. Вы должны иметь возможность просто запустить удаление предыдущей версии вручную в своем коде InstallScript (возможно, в функции OnFirstUIBefore).

...