【问题标题】:Uninstall old version and install new version in Inno Setup在 Inno Setup 中卸载旧版本并安装新版本
【发布时间】:2021-04-30 04:24:20
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 正如我在 Inno Setup 讨论组中提到的:您可以将 /silent/verysilent 参数传递给安装程序以免提运行。
  • 请提供示例代码或链接
  • 为什么一定要卸载旧版本?为什么不直接运行最新的安装程序来升级现有设置?

标签: inno-setup


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2017-01-07
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2013-01-09
    • 2011-01-01
    • 2016-12-28
    • 2019-11-08
    相关资源
    最近更新 更多