我有一个InstallShield 12安装脚本。我想在安装新版本之前卸载旧版本。我将保持包的名称不变。我怎么能这样做?
答案 0 :(得分:2)
假设这不是MSI项目,并且您保留了相同的项目GUID,则只需在ComponentUninstall()
函数中调用OnMaintUIBefore
即可。
如果Project GUID不相同,您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{PROJECT_GUID}
下的注册表中查看卸载字符串,然后使用它执行LaunchApp。
希望它有所帮助。
答案 1 :(得分:1)
使用基于MSI的项目,可以通过为项目配置主要升级来完成。 InstallScript项目不存在升级,但没有Windows Installer限制可以防止您同时运行多个安装。您应该能够在InstallScript代码中手动运行先前版本的卸载(可能在OnFirstUIBefore函数中)。