2

我正在为我正在开发的应用程序使用 install4j 的自动更新功能。我想知道它究竟如何确定是否需要更新?

我不确定它是否纯粹基于与updates.xml 中相关条目中的newProperty 值进行比较的应用程序版本号。或者,应用程序 ID(在安装程序配置屏幕中)是否在某处发挥作用?

4

1 回答 1

2

更新检测逻辑是可定制的。

在 Installer->Screens & Actions 选项卡上查看您的更新程序安装程序,并找到名为“Update descriptor entry”的操作。该动作只是一个带有脚本的“设置变量”动作

((UpdateDescriptor)context.getVariable("updateDescriptor")).getPossibleUpdateEntry()

该方法UpdateDescriptor#getPossibleUpdateEntry()将已安装应用程序的版本号与下载updates.xml文件中的版本号进行比较。更准确地说,它在 updates.xml 中查找与用于安装当前安装的安装程序的媒体文件 ID 匹配的媒体文件 ID 的条目,并使用该条目的版本号。

您可以用您自己的逻辑替换此逻辑,例如使用updates.xml在安装程序-> 自动更新选项选项卡上配置的文件中的自定义属性。

于 2011-12-20T10:06:01.850 回答