Auto-update of native application bundles
zonski at googlemail.com
Sat Jun 16 03:45:50 PDT 2012
On Sat, Jun 16, 2012 at 8:00 PM, Dr. Michael Paus <mp at jugs.org> wrote:
> this time it worked. Downloading, installing, updating and uninstalling.
> There are however a few points I would complain about but as you
> said that this is just a proof of concept I am not sure whether it is
> worth the time to detail these issues.
I agree the workflow and user experience is very rough at the moment - the
focus has been on proving the technical challenges can be overcome and
getting just enough working to see whether it's worth us investing more
into it and moving further along this path, or changing direction
If there is general approval of the high-level direction then it is
definitely worth putting the effort into making this all nice and slick.
It's probably not worth picking out individual flaws in the flow though -
it's all bad. If however, you were interested in defining what the perfect
user flow would look like in terms of screens, messages, and even look and
feel that would be awesome. In need of a UX designer! Even better if you
wanted to just code it straight in. I'm looking at getting JFX onto the
path as the next highest priority and then the intent is to completely
rebuild the workflow screen in prettier, more user friendly JFX screens.
Actually, perhaps it would be a good idea to make use of the wiki on the
google code project and move some of the more static stuff from this
conversation onto there and collaboratively define the workflow. I'd be
happy to add you as a member if you're keen (have you signed the Oracle
Contributors agreement yet?).
A few examples:
> Why is the installer so big (> 30MB)? The windows JRE is only 20MB
> and contains a lot of things which are not needed if it is bundled with
> an application. (For example all the applet and webstart stuff)
The size is purely due to the size of the JRE I've bundled in there and for
me the JRE is large. The size of my installed 1.6 JRE is 90MB - the
"rt.jar" alone is 43MB. The 33MB is a result of Advanced Installer
compressing the 90MB down to 33MB, so if we had a much smaller JRE size
(e.g. 20MB) it should be significantly smaller again.
Is your JRE really 20MB? If so that would be awesome, but I'm not sure how
I managed to end up with such a massive one. I admit I have had about 50
different versions of JRE's + JDKs on this machine over the last 12 months
(every client I have has different version requirements and half of them
have legacy projects and require multiple JREs at the one site!).
> The yellow app shows the same version number as the green one.
> Why do I have to update then?
I think this is just my nasty hacked up UI leading you astray. When an
update is available the content area shows the available update, when you
have the latest update the content area shows the current version you have.
So in both the yellow and the green you will see the details of version 2.0
in the content area (but in the yellow your current installed version is
actually 1.0). Kind of stupid now that I think about it :) This should all
get thrown away and redone as we move to JFX pretty screens.
> When I already have the latest version the update button should
> not be active anymore.
Yea, oversight on my behalf. I think I turned it on to test something and
forgot to turn it back off.
> There was a curious dialog when I update which asked whether
> I wanted to update the JRE to U32. I was a bit afraid to say yes to
> that because I was not sure what would happen. (I don't have JRE6
> installed on my machine anymore) Finally I did it and nothing obviously
> bad happened.
The dialog is not actually asking whether you want to update the JRE to U32
but rather is asking whether you give "JRE U32" permission to make changes
to your local system. JRE U32 is the JRE that is co-bundled into the MSI
and it is trying to copy in JRE7.
This dialog is required but the fact that it shows "JRE" as the app name is
confusing. There should be a way to make it show "Do you want to allow Zen
Test Application to make changes to your system" instead of saying "Java
u32" as it does now.
Basically the updater wants to copy the new, downloaded files into the
installation directory but since this is in Program Files we need to get
User Account Control (UAC) permission. To do this I have to launch another
process with requested elevated windows privileges and this spawned process
does the copy. To make my life easy I spawn a Java process to do this so
that's why you see the dialog warning you that Java is asking for enhanced
permissions. In order to change this we need to find a way to name the
spawned process - there will surely be a way, just have to work it out.
Something more for the todo list!
Rest assured however it's not doing anything to any of your installed JREs
- it's only messing with the files within the test app installation.
> and so on ...
All good feedback, keep it coming!
More information about the openjfx-dev