JDK-6734007 : sponsor transforms break non-Patch in Place upgrade functionality
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
in InstallUISequence.idt from revision 1.25 to 1.26:
<FindRelatedProducts 150 FindRelatedProducts
was removed and should be re-added.
<SETMODIFYREMOVE (VersionNT=400) OR (Version9X=490) OR (Version9X=410) 32
was changed to
>SETMODIFYREMOVE (VersionNT=400) OR (Version9X=490) OR (Version9X=410) 1
I don't know if this is correct.
<needrebootIEVM Not Installed 780 do we need a reboot for IE
<needrebootFirefox Not Installed 781
was changed to
>needrebootIEVM Not Installed 31 do we need a reboot for IE
>needrebootFirefox Not Installed 32
and then fixed.
The following were moved out of numerical order.
>NewerConsumerVersionInstalled (Not REMOVE) And (MODE<>"S") And (PREV_CONSUMER_VERSION>JDK_VERSION) 151 Error if installing Consumer and newer consumer version is already installed.
>SameVersionAlreadyInstalledAsStatic (Not REMOVE) And (MODE<>"S") And SAMEVERSTATICPRODUCTFOUND 152 Error if installing Consumer and the same version of Static is already installed.
Not an issue for 6u10beta->fcs. I was confusing REMOVEEXISTING=1 and REINSTALL_NO_PROMPT=1
I installed 6u10 beta b23 and upgraded to the staged 6u10fcs w/ sponsor transform successfully.
> jre-6u10-windows-i586-p-iftw.exe REINSTALL_NO_PROMPT=1
changed in InstallUISequence.idt revision 1.26:
D 1.26 08/05/15 17:11:16 billyh 54 53 00083/00015/00019
Merged changes between child workspace "/java/deployment/ws/1.6.0_10-ooyahoo/nightly/sponsors" and
parent workspace "/java/deployment/ws/1.6.0_10/integration/sponsors".
sccs sccsdiff -r 1.25 -r 1.26 InstallUISequence.idt | grep FindR
< FindRelatedProducts 150 FindRelatedProducts
This has serious impact.
Sponsor transforms break non-Patch in Place upgrade functionality.
When the installer (.exe) cannot upgrade using patch in place (offline or 6u10 non-fcs to 6u11 because CkSums do not match),
and decides to upgrade by silently uninstalling 6u10 first, it passes REMOVEEXISTING=1 to the MSI.
When I run:
msiexec /i jre1.6.0_11-c.msi TRANSFORMS="C:\Documents and Settings\Chris\Application Data\Sun\Java\jre1.6.0_11\sp1033.MST" ED=0 SP5OFF=1 SP2OFF=1 SPWEB=http://j2se.east.sun.com/arc/1.6.0_11/nightly/2008-08-19/windows-i586/iftw/sp METHOD=jother COUNTRY=US PREFERENCEORDER=SP1;SP4;SP3 REMOVEEXISTING=1
Error 25099. Unzipping core files failed.
because 6u10 has not been uninstalled and is still running.
If I call the MSI without the sponsor transform, it silently uninstalls 6u10 and installs 6u11:
msiexec /i jre1.6.0_11-c.msi ED=0 SP5OFF=1 SP2OFF=1 SPWEB=http://j2se.east.sun.com/arc/1.6.0_11/nightly/2008-08-19/windows-i586/iftw/sp METHOD=jother COUNTRY=US PREFERENCEORDER=SP1;SP4;SP3 REMOVEEXISTING=1
We need to first evaluate if this has any impact. I believe the only way it could cause issues is with the offline installer, because it may (check with Chris G) use FindRelatedProducts to do the uninstall of the old release. The Upgrade table may have something to do with this. Also, it would only affect the -s offline, because that's the only one that has sponsor transforms. The test we need to run is:
1. Install 6u10
2. Install 6u11 offline -s, it should uninstall 6u10 and then start the 6u11 installation. The behavior should be the same as if the non -s 6u11 offline installer is run.
We should also make sure that there aren't any other actions that are getting removed by the sponsor transforms.
The fix itself is easy. Add one line to the fulltables/InstallUISequence.idt table in the sponsors ws.