Java Runtime Environment (JRE) may be installed in family or static modes. This document describes various scenarios to demonstrate the behavior of the JRE update process.
Java Runtime Environment Update Scenarios
Updating Family JRE
This is the most likely scenario.
User installs JRE 6u10 as a "Family JRE" by default into c:/Program Files/Java/jre6
User gets prompted by Java-Update to update to 6u11.
User agrees, goes through Java-Update process.
Java update recognizes that the 6u10 JRE was installed as a "Family JRE", and can therefore just simply patch-in-place to 6u11.
Once finished, the user now has only one 6u11 "Family/Update JRE" located at c:/Program Files/Java/jre6. 6u10 no longer exists on the machine.
Installing "Family JRE" when a "Static JRE" is already present
User installs 6u10 "Static JRE" into c:/Program Files/Java/jre1.6.0_10
User gets prompted by Java-Update to update to 6u11.
User agrees, goes through Java-Update process.
Java update ignores the previous static installation of 6u10, and downloads a full copy of 6u11 "Family JRE" which is installed into c:/Program Files/Java/jre6.
Once finished, the user now has both a 6u10 "Static JRE" at c:/Program Files/Java/jre1.6.0_10, and a 6u11 "Family JRE" at c:/Program Files/Java/jre6.
Installing "Static JRE" when older "Family JRE" is already present
User installs 6u10 "Family JRE".
It installs into c:/Program Files/Java/jre6.
User then installs 6u11 "Static JRE".
6u11 "Static JRE" installer ignores the existence of 6u10 "Family JRE"., and downloads a full copy of 6u11 which is installed into c:/Program Files/Java/jre1.6.0_11.
Once finished, the user now has both a family copy of 6u10 at c:/Program Files/Java/jre6, and a copy of 6u11 JRE c:/Program Files/Java/jre1.6.0_11.
Installing older "Family JRE" when newer "Family JRE" is already present, then reinstalling older "Family JRE"
User installs 6u11 "Family JRE" into c:/Program Files/Java/jre6.
User launches 6u11 iftw.exe installer in the default "family mode"(iftw stands for install from the web).
6u11 installer detects newer "Family JRE" is already present and switches to "static mode".
The user now has both a family copy of 6u11 at c:/Program Files/Java/jre6, and a copy of 6u10 JRE c:/Program Files/Java/jre1.6.0_10.
User launches 6u10 iftw.exe installer in the default "family mode".
6u10 installer detects that 6u10 is already installed as "Static JRE" and switches to "static mode". In "static mode" the installer prompts to reinstall. If the user selects yes, 6u10 "Static JRE" is uninstalled and reinstalled.
When finished, the user now has both a family copy of 6u11 at c:/Program Files/Java/jre6, and a copy of 6u10 JRE c:/Program Files/Java/jre1.6.0_10.
Installing "Static JRE" when same JRE version of "Family JRE" is already present
User installs 6u10 "Family JRE".
User launches 6u10 "Static JRE" installer.
Installer will uninstall 6u10 "Update JRE" and install a 6u10"Static JRE". An entire download of the JRE 6u10 will take place.
User will be left with 6u10 "Static JRE" at c:/Program Files/Java/jre1.6.0_10.
Attempting to install "Family JRE" when same JRE version of "Static JRE" is already present
User installs 6u10 "Static JRE".
User downloads/launches 6u10 "Family JRE" installer.
The installer will launch the 6u10 "Static JRE" MSI and the user will be prompted if they want to reinstall.
User agrees to reinstall.
User will be left with a 6u10 "Static JRE"..
Installing new 6u4 "Family JRE" when old architecture JRE 6u2 is already present
User installs 6u2 JRE, which does not have new patching architecture, nor does it have Static/Update installer mode.
User downloads/launches 6u4 "Family JRE" installer, which has Static/Update installer ability.
6u4 ignores the already installed 6u2 JRE, downloads a full copy of 6u4 "Family JRE" and installs into c:/Program Files/Java/jre6
Installing older "Family JRE" when newer "Static JRE" is already present
User installs 6u11 "Static JRE" into c:/Program Files/Java/jre1.6.0_11
User launches 6u10 iftw.exe installer in the default "family mode".
Once finished, the user now has both a static copy of 6u11 at c:/Program Files/Java/jre1.6.0_11, and a 6u10 "Family JRE".
Applying consecutive patches
User installs 6u10 "Family JRE" (using online, kernel, or offline installer).
User installs 6u11 "Family JRE" using online installer.
6u10 is patched in place to 6u11.
User installs 6u12 "Family JRE" using online installer.
6u11 is patched in place to 6u12.
Applying intermediate patches
User installs 6u10 "Family JRE" (using online, kernel, or offline installer).
User installs 6u12 "Family JRE" using online installer.
6u10 is patched in place to 6u12.
User installs 6u13 "Family JRE" using online installer.
6u12 is patched in place to 6u13.
Installing later family version using offline installer
User installs 6u10 "Family JRE" (using online, kernel, or offline installer).
User downloads 6u11 offline installer.
User launches 6u11 offline installer in the default "Family JRE" mode.
6u10 is uninstalled and 6u11 "Family JRE" is installed.
User will be left with a 6u11 "Family JRE".
Reinstalling "Static JRE" when older "Family JRE" installed.
User installs 6u10 "Family JRE" (using online, kernel, or offline installer).
User installs 6u11 "Static JRE" (using online or offline installer).
User launches 6u11 "Family JRE" installer (online or offline).
6u11 installer detects that 6u11 "Static JRE" already exists and switches to "static mode". In "static mode" the install prompts to reinstall. If the user selects yes, 6u11 "Static JRE" is uninstalled and reinstalled.
When finished, the user now has both a family copy of 6u10 "Family JRE" at c:/Program Files/Java/jre6, and a copy of 6u11 "Static JRE" c:/Program Files/Java/jre1.6.0_11.
Reinstalling "Static JRE" without explicitly ever installing as static.
User installs 6u12 "Family JRE" (using online, kernel, or offline installer).
User installs 6u11 "Family JRE" in default mode (using online or offline installer). 6u11 is installed as "Static JRE". User now has 6u11 "Static JRE" and 6u12 "Family JRE".
User uninstalls 6u12 "Family JRE". User now has 6u11 "Static JRE".
User installs 6u10 "Family JRE" (using online or offline installer). User now has 6u10 "Family JRE" and 6u11 "Static JRE".
User launches 6u11 "Family JRE" (using online or offline installer).
6u11 detects already installed as "Static JRE" and switches to "static mode". In "static mode" the install prompts to reinstall. If the user selects yes, 6u11 "Static JRE" is uninstalled and reinstalled.
When finished, the user now has both a family copy of 6u10 "Family JRE" at c:/Program Files/Java/jre6, and a copy of 6u11 "Static JRE" c:/Program Files/Java/jre1.6.0_11.