我正在使用 Inno Setup 创建一个应用程序安装程序(一个大文件)和一个更新程序,后者只是一个小文件,仅包含自上次安装/更新以来更改的文件。此更新文件还应该增加应用程序的版本号。我遵循了这个文档https://jrsoftware.org/isfaq.php#updateinstall,即我设置了
CreateUninstallRegKey=no
和UpdateUninstallLogAppName=no
除了一件事之外,一切都很好。更新程序不会更改已安装应用程序列表中的版本号。例如,如果我使用安装程序安装了版本 1.1.2,然后运行具有参数
AppVersion=1.1.3
的更新程序。更新的文件已正确安装,但已安装应用程序列表中的版本(在 Windows 设置中)仍然显示版本 1.1.2。
我尝试更改为
UpdateUninstallLogAppName=yes
但这不会影响显示的版本号。当我查看注册表时,我仍然可以看到数字 1.1.2。
有什么想法可以解决这个问题吗?
您必须在脚本中明确更改它。
CreateUninstallRegKey=no
防止对 HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
进行任何更新。
正如您链接到的页面所说:
更新不应在添加/删除程序列表中创建新条目,或更改原始应用程序的条目。
[Registry]
部分条目(如下面的评论所示)或RegWriteStringValue
功能。