我正在使用 inno Setup 构建一个新版本的程序。 我对此很陌生,所以请耐心等待:) 有一个旧版本的程序不是用 Inno Setup 创建的。 我想在安装新版本之前卸载它。 我没有构建它,我知道有些东西不在注册表中的同一位置,而且我不知道全部,所以必须卸载旧版本。 我可以使用命令“run/shell:appsfolder”找到 appid 对于许多应用程序来说,appid 似乎是相同的,但结尾不同:
{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\****\****\****\****.exe
但是我找不到它:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
or HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
有人可以帮我定义卸载旧版本的代码吗? 预先感谢
我已经阅读了很多相关内容,但所有内容都指的是使用 Inno Setup 创建的旧版本,或者是我在其中找不到卸载的注册表。
我不太明白这个帖子中的答案。我可以用同样的吗? 在 Inno Setup 中执行 UninstallString
这个问题向您展示如何在 Inno Setup 中安装之前运行卸载程序:
如何在 Inno Setup 中自动卸载以前安装的版本?
但它是为 Inno Setup 卸载程序量身定制的。对于之前的 MSI 安装,您需要使用
msiexec
。如图所示:尽管您应该能够在代码中的注册表中查找
msiexec
命令行。您只需更新检测即可查找 MSI 产品 ID GUID(而不是 Inno Setup AppId
)。