使用 Inno Setup 创建的更新程序不会更改应用程序版本

Updater created with Inno Setup does not change the application version

我正在使用 Inno Setup 创建一个应用程序安装程序(一个大文件)和一个更新程序,后者只是一个小文件并且仅包含自上次 installation/update 以来更改的文件。此更新文件还应增加应用程序版本号。我遵循了这个文档 http://www.jrsoftware.org/iskb.php?updateinstall,即我设置了 CreateUninstallRegKey=noUpdateUninstallLogAppName=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.

的任何更新

正如 page you linked 所说:

The update should not create a new entry in the Add/Remove Programs list, or alter the original application's entry.


您可以使用 [Registry] section entry (as your comment below shows) or RegWriteStringValue function.