【发布时间】:2014-11-24 22:05:40
【问题描述】:
在 Inno 设置中,我想检查是否安装了以前版本的应用程序,如果检测到则自动卸载它。检查应用程序是否存在的注册表项是这样的:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe Shockwave Player
静默卸载命令是这样的:C:\Windows\system32\Adobe\Shockwave 12\uninstaller.exe /S
. 注意-应用程序的设置是使用 NSIS 开发的。
还有一件事,如果找到以前的版本,我希望不显示任何消息框。同一应用程序的先前版本为 v12.1.3.153 或更低版本。 任何参考的完整 Inno 脚本:http://pastebin.com/HmrNcFd4
所以请提供代码。非常感谢!!
【问题讨论】:
-
你应该
compare version值来自该注册的DisplayVersion。键(请注意,可以安装 64 位播放器,因此您应该在两个视图中检查)与您要安装的内容相对应。如果该版本较低,则运行存储在UninstallString键值中的内容(或执行uninstaller from here)。
标签: inno-setup