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