在 Inno Setup 中卸载旧版本并安装新版本

时间:2021-04-30 04:24:20

标签: inno-setup

我正在尝试创建一个安装程序,用于检查是否安装了旧版本的软件。如果是,它将卸载旧版本并通过保留旧版本的所有参数(路径等)静默安装新版本

我可以通过以下命令检查旧版本:

RegQueryStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\mySoftware','DisplayVersion',pVersion)

并通过以下方式卸载旧版本:

ShellExec('', ExpandConstant(<uninstall exe path>),'/VerySILENT /NORESTART /SUPPRESSMSGBOXES', '', SW_Hide, ewNoWait, ErrorCode)

但我无法静默安装新版本。

1 个答案:

答案 0 :(得分:0)

如果您确实确定需要在安装前卸载已安装的版本,您可以使用 UnInsIS.dll,它为 Inno Setup 安装程序提供了检查包已安装并可能在继续安装之前将其卸载。 UnInsIS.dll 是开源的。