【发布时间】:2010-10-13 03:18:54
【问题描述】:
我有一个 InstallShield 12 安装脚本。我想在安装新版本之前卸载旧版本。我将保持包的名称不变。我该怎么做?
【问题讨论】:
标签: upgrade installshield uninstallation installscript
我有一个 InstallShield 12 安装脚本。我想在安装新版本之前卸载旧版本。我将保持包的名称不变。我该怎么做?
【问题讨论】:
标签: upgrade installshield uninstallation installscript
假设这不是一个 MSI 项目并且您保持相同的项目 GUID,您可以简单地在 OnMaintUIBefore 函数中调用 ComponentUninstall()。
如果项目 GUID 不同,您可以查看注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{PROJECT_GUID} 下的卸载字符串,然后使用它执行 LaunchApp。
希望对你有帮助。
【讨论】:
对于基于 MSI 的项目,这将通过为您的项目配置主要升级来完成。 InstallScript 项目不存在升级,但没有 Windows Installer 限制可防止您同时运行多个安装。您应该能够简单地在您的 InstallScript 代码中手动运行旧版本的卸载(可能在 OnFirstUIBefore 函数中)。
【讨论】: