152
edits
Changes
Java
,Upgrade to Java Runtime Environment (JRE) 6 Update 12, not for security reasons but for performance improvement.
For security reasons you are encouraged to upgrade to at least Update 11, see section Bug Fixes of the Update Release Notes: http://java.sun.com/javase/6/webnotes/6u11.html. For performance reasons you could also upgrade to the newer Update 12, which in turn does not fix security issues other than Update 11: http://java.sun.com/javase/6/webnotes/6u12.html. However, if you're running JRE 6 Update 10 or onwards and haven't disabled automatic updates then JRE should automatically be downloading and installing updates.
==Java Runtime Environment (JRE) 6 Update 10 and 1112==
Sun has skipped 3 update versions and has released Update 10 and then Update 11 and Update 12 as the version versions replacing Update 7.Update 10 introduces introduced some substantial changes, also in relation to the installation/uninstallation process we manage with WPKG: specifically it introduces introduced a new binary "jqs.exe" and a service called "Java Quick Starter" starting it automatically at boot time.
"Java Quick Starter" is described as a prefetching service that should make java applications start faster. But it has a drawback: it must be killed before uninstallation or installation fails, and uninstallation via msiexec does not seem to be smart enough to do this.
This requires the Windows Offline installation package available from Sun. Note that a particular Java family install package does not remove already installed versions of another Java family, so JRE 1.5 and JRE 1.6 can coexist; all older 1.6 update versions (1.6.0 up to 1.6.0 Update 711) are tried to be removed by the following packaging (note that the update version seems to be no more reflected in the last number in the Uninstall ID).
Actually, with Update 10 and 11 later Sun has introduced as default the so called "patch in place" update mechanism (see: http://java.sun.com/javase/6/docs/technotes/guides/jweb/otherFeatures/jre_install.html) which automatically removes the previous version of the same Java family (unless you turned off patch-in-place using the installer). So the line that tries to remove a previously installed Update 10 (msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216010FF}) is not strictly necessary (if you installed a 'Family JRE' and not a 'Static JRE').
The following installs JRE Update 11 12 and then removes the "Java Quick Starter" service; if you want to keep "Java Quick Starter" service then just remove the line with "jqs.exe -unregister", but remeber to stop/kill JQS before uninstallation.
<source lang="xml">
<package id="java6" name="Java Runtime Environment 6 Update 1112" revision="1112" reboot="false" priority="100"> <check type="uninstall" condition="exists" path="Java(TM) 6 Update 1112" />
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160000}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160010}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160070}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216010FF}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216011FF}'><exit code='0' /><exit code='1605' /></install> <install cmd='%SOFTWARE%\jre\jre-6u116u12-windows-i586-p.exe /s IEXPLORER=1 MOZILLA=1 ADDLOCAL=ALL REBOOT=Suppress JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0' />
<install cmd="%PROGRAMFILES%\Java\jre6\bin\jqs.exe -unregister"/>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160000}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160070}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216010FF}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216011FF}'><exit code='0' /><exit code='1605' /></upgrade> <upgrade cmd='%SOFTWARE%\jre\jre-6u116u12-windows-i586-p.exe /s IEXPLORER=1 MOZILLA=1 ADDLOCAL=ALL REBOOT=Suppress JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0' />
<upgrade cmd="%PROGRAMFILES%\Java\jre6\bin\jqs.exe -unregister"/>
<remove cmd='msiexec /qn /x {26A24AE4-039D-4CA4-87B4-2F83216011FF2F83216012FF}' />
</package>
</source>