我正在为我正在使用的应用程序使用install4j的自动更新功能。我想知道它究竟是如何确定是否需要更新?
我不确定它是否纯粹基于应用程序版本号与updates.xml中相关条目中的newProperty值进行比较。或者,应用程序ID(在安装程序配置屏幕中)是否在某个地方发挥作用?
答案 0 :(得分:2)
更新检测逻辑可自定义。
在Installer->屏幕&屏幕上查看您的更新程序安装程序应用程序。 “操作”选项卡,找到名为“更新描述符条目”的操作。该操作只是一个“设置变量”操作,脚本为
((UpdateDescriptor)context.getVariable("updateDescriptor")).getPossibleUpdateEntry()
方法UpdateDescriptor#getPossibleUpdateEntry()
将已安装应用程序的版本号与下载的updates.xml
文件中的版本号进行比较。更准确地说,它在updates.xml中找到与用于安装当前安装的安装程序的媒体文件ID匹配的媒体文件ID的条目,并使用该条目的版本号。
您可以使用自己的逻辑替换此逻辑,例如使用安装程序 - >自动更新选项选项卡上配置的updates.xml
文件中的自定义属性。