152
edits
Changes
Java
,Updated with: Java Runtime Environment (JRE) 6 Update 10 and considerations about the new Java Quick Starter service
==Java Runtime Environment (JRE) 6 Update 10==
As for now there seem to be no specific security reasons to update JRE to Update 10, so Update 10 can be considered just as a version/feature upgrade.
Sun has skipped 3 update versions and has released Update 10 as the version replacing Update 7.
Update 10 introduces some substantial changes, also in relation to the installation/uninstallation process we manage with WPKG: specifically it introduces 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.
Although there seems to be no command line switches to allow/disallow the installation of "Java Quick Starter", the jqs.exe binary itself can be used immediately after installation in order to add/remove the "Java Quick Starter" service.
The following table shows the command line switches you can invoke with the jqs.exe binary:
C:\Program Files\Java\jre6\bin>jqs -help
Usage: jqs <mode> [<options>]
The following modes are supported:
-help print this help message and exit
-register install JQS service and register browser startup detectors
-unregister uninstall JQS service and unregister startup detectors
-enable enable JQS service
-disable disable JQS service
-pause pause prefetching
-resume resume prefetching
-version print version of the associated Java Runtime
Options include:
-config <config> set JQS configuration file
-profile <profile> set JQS profile file
-logfile <logfile> set JQS log file
-verbose <level> verbose operation
This requires the Windows Offline installation package available from Sun. Note that the java install package does not replace old versions, 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 7) are tried to be removed (note that the update version seems to be no more reflected in the last number in the Uninstall ID).
The following installs JRE Update 10 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 10" revision="10" reboot="false" priority="100">
<check type="uninstall" condition="exists" path="Java(TM) 6 Update 10" />
<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-00B0D0160020}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160030}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160040}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160050}'><exit code='0' /><exit code='1605' /></install>
<install cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160060}'><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='%SOFTWARE%\jre\jre-6u10-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-00B0D0160010}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160020}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160030}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160040}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160050}'><exit code='0' /><exit code='1605' /></upgrade>
<upgrade cmd='msiexec /qn /x {3248F0A8-6813-11D6-A77B-00B0D0160060}'><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='%SOFTWARE%\jre\jre-6u10-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-2F83216010FF}' />
</package>
</source>
Automatic updates can be disabled with JAVAUPDATE=0 JU=0 AUTOUPDATECHECK=0; if these command line switches should not work for you, then you can alter the registry (read [[Adding Registry Settings]] for that) to disable autoupdate:
<source lang="reg">
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy]
"EnableAutoUpdateCheck"=dword:00000000
"EnableJavaUpdate"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"SunJavaUpdateSched"=-
</source>
==Java Runtime Environment (JRE) 6 Update 7==