Auto-update of native application bundles
Igor Nekrestyanov
igor.nekrestyanov at oracle.com
Sat Jul 21 21:36:46 PDT 2012
Hi Dan,
thanks for pushing this effort!
On 7/21/12 5:10 PM, Daniel Zwolenski wrote:
> *Deltas*
>
> Currently only a 'full' upgrade is used, there are no 'deltas' - with one
> variation on this theme: if the JRE version has not changed then the JRE
> does not need to be included in the upgrade. So your first download (the
> 'exe') will include all the JARs and the JRE (36MB) but the subsequent
> upgrade is a zip containing just the new JARs (8MB for Ensemble - your app
> may be more or less).
>
> Igor's thinking (please correct me if I misquote you Igor!) is that this
> approach will be the recommended norm and that deltas will be much less
> frequently used.
> If your app is small or released infrequently then this is
> probably acceptable. I'd be very interested to hear people's opinion on
> this one - once we head down one road (and we are already heading down it)
> then it will get very hard to change direction.
We could support delta's.
I do not see big technical problems with "applying delta patch".
The complicated part is how developer will prepare static delta.
One option is to keep image of previous version and provide it as base
for delta generation.
Another simple alternative (variation of app only) is to provide list of
files to be included into update.
Then these files will be included (as full file) into update and older
versions of these files will be replaced.
Other files will not be included into update and will be left intact.
>
> - Since Igor's native installer does not yet install to 'program files',
Actually, recent versions of javafx ant tasks support system wide
installation.
System wide installs are default for .msi/.dmg/.rpm/.deb. User level
installation is default for .exe.
For .exe/.msi/.dmg you can chose whether you want system level or user
level install using "install" attribute of fx:preferences.
For example following will request bundle with system level installation
<fx:preferences install="true"/>
and this will request user level:
<fx:preferences install="false"/>
Hopefully soon we will have better docs available for what is possible
with current implementation,
-igor
More information about the openjfx-dev
mailing list