United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6494152 : java-update should download new patch.exe instead of iftw.exe

Details
Type:
Enhancement
Submit Date:
2006-11-15
Status:
Closed
Updated Date:
2011-03-11
Project Name:
JDK
Resolved Date:
2011-03-11
Component:
install
OS:
generic
Sub-Component:
install
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u2
Fixed Versions:

Related Reports
Backport:

Sub Tasks

Description
Right now Java update works like this:

1. User has Java 6 JRE installed
2. User get's prompted that Java-update 6u2 is "ready for download"
3. User clicks yes, and the java-update downloads the online installer iftw.exe
4. Once the 200KB iftw.exe is downloaded in the background using the BITS technology (usually very fast), the user get's immediately prompted again that Java-update 6u2 is "ready for install"
5. The iftw.exe gets run, and then the msi engine now beings the download of the 6u1 patch.

This really is the wrong way to do things.  After clicking on "ready to download", everything that gets downloaded should really get downloaded all at once.  It's pointless to prompt the user and use BITS to download a small 200KB bootstrap.  After clicking "ready to install", it should only be installing at that point (not downloading more).  This is a really bad UE.  

Note: The reason this is the way it is is because java-update and the online installer were developed in parallel by two teams in 1.4.2, and sort of thrown together like this.  1.4.2 was a very crunched/pressured release and tradeoffs like this happen.  

It would be really great if we do all of the downloading using our own reliable code that uses BITS, rather than using the problematic msi download engine.  It would also be great if "ready to download" meant what it says, and "ready to install" meant what it says.  And the actual download will actually take place in the background using BITS, and it'll give the user a better perception of the update download.

                                    

Comments
EVALUATION

The fix for this (uncverified) was delivered into JDK7 b64 as part of:
6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
                                     
2009-07-22
EVALUATION

Forward ported the changes from 6u5(project hamburg) ws.
                                     
2007-10-09
EVALUATION

We can create a new msi that only has the patcher included.  We'll wrap this msi with the same wrapper that's used for the offline-s.  Java 6 releases will always get updated to this .exe.  We'll have to remove the "custom installation" feature for updates, so users can't go and choose the extra feature (technical reasons why).   After all, java-update is there to patch the JRE, not to give them features they didn't choose on previous installs.  They can later go through the add/remove programs and add additional features later if they way.  To make that work, we'll have to pass SOURCELIST=http://java...../jre.msi.  We'll then delete the patch msi after using it, so it'll use the sourcelist http location in maintenance mode.  

Users may still want to choose where they want to install Java, so we'll need to work that out.  Maybe we can put the install dir file chooser on the license screen (in place of the typical/custom radiobutton).
                                     
2006-11-15



Hardware and Software, Engineered to Work Together