如何在不运行其他安装程序的情况下升级jpackage Application?

问题描述

在安装了jpackage应用程序之后,如何允许我的用户升级该应用程序而无需他们重新运行安装程序?我必须具有哪些选项才能允许用户升级

一个理想的方案是在运行时将基础jar换出,并在同一过程中重新启动应用程序。我想这可能是不可能的?

解决方法

jpackage 目前不支持自动更新,但我认为他们计划在未来支持它。

在那之前,你可以使用这个java库:

https://github.com/threerings/getdown

,

您为构建要发布的安装包而又想实现另一种向应用程序发布任何更新的方式,似乎很奇怪。您最好使用jpackage进行新安装,然后让您的用户再次运行安装程序-或完全不打扰jpackage。

我不确定Mac / Linux,但在Windows上,安装程序包会在应用新版本之前先卸载/清除旧版本的应用程序-只要您正确设置了安装程序版本,以使其每增加一次时间。

有关在构建时将版本自动设置为YY.MM.DDHH的建议,请参见此answer,以便每次运行jpackage时版本号都会递增。