Java Runtime Environment Update Scenarios


  JDK Documentation

Introduction

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 starting in the Java SE 6 update 10 release. Release 6u10, 6u11, 6u12, and above are considered to be in the same family. Earlier updates of Java SE 6 do not support the ability patch in place.

Updating Family JRE

This is the most likely scenario.

  1. User installs JRE 6u17 as a "Family JRE" by default into c:\Program Files\Java\jre6
  2. User gets prompted by Java-Update to update to 6u18.
  3. User agrees, goes through Java-Update process.
  4. Java update recognizes that the 6u17 JRE was installed as a "Family JRE", and can therefore just simply patch-in-place to 6u18.
  5. Once finished, the user now has only one 6u18 "Family/Update JRE" located at c:\Program Files\Java\jre6. 6u17 no longer exists on the machine.

Installing "Family JRE" when a "Static JRE" is already present

  1. User installs 6u17 "Static JRE" into c:\Program Files\Java\jre1.6.0_10
  2. User gets prompted by Java-Update to update to 6u17.
  3. User agrees, goes through Java-Update process.
  4. Java update ignores the previous static installation of 6u17, and downloads a full copy of 6u18 "Family JRE" which is installed into c:\Program Files\Java\jre6.
  5. Once finished, the user now has both a 6u17 "Static JRE" at c:\Program Files\Java\jre1.6.0_17, and a 6u18 "Family JRE" at c:\Program Files\Java\jre6.

Installing "Static JRE" when older "Family JRE" is already present

  1. User installs 6u17 "Family JRE".
  2. It installs into c:\Program Files\Java\jre6.
  3. User then installs 6u18 "Static JRE".
  4. 6u18 "Static JRE" installer ignores the existence of 6u17 "Family JRE"., and downloads a full copy of 6u18 which is installed into c:\Program Files\Java\jre1.6.0_18.
  5. Once finished, the user now has both a family copy of 6u17 at c:\Program Files\Java\jre6, and a copy of 6u18 JRE c:\Program Files\Java\jre1.6.0_18.

Installing older "Family JRE" when newer "Family JRE" is already present, then reinstalling older "Family JRE"

  1. User installs 6u18 "Family JRE" into c:\Program Files\Java\jre6.
  2. User launches 6u17 iftw.exe installer in the default "family mode"( iftw stands for install from the web).
  3. 6u17 installer detects newer "Family JRE" is already present and switches to "static mode".
  4. The user now has both a family copy of 6u18 at c:\Program Files\Java\jre6, and a copy of 6u17 JRE c:\Program Files\Java\jre1.6.0_17.
  5. User launches 6u17 iftw.exe installer in the default "family mode".
  6. 6u17 installer detects that 6u17 is already installed as "Static JRE" and switches to "static mode". In "static mode" the installer prompts to reinstall. If the user selects yes, 6u17 "Static JRE" is uninstalled and reinstalled.
  7. When finished, the user now has both a family copy of 6u18 at c:\Program Files\Java\jre6, and a copy of 6u17 JRE c:\Program Files\Java\jre1.6.0_17.

Installing "Static JRE" when same JRE version of "Family JRE" is already present

  1. User installs 6u17 "Family JRE".
  2. User launches 6u17 "Static JRE" installer.
  3. Installer will uninstall 6u17 "Update JRE" and install a 6u17 "Static JRE". An entire download of the JRE 6u17 will take place.
  4. User will be left with 6u17 "Static JRE" at c:\Program Files\Java\jre1.6.0_17.

Attempting to install "Family JRE" when same JRE version of "Static JRE" is already present

  1. User installs 6u18 "Static JRE".
  2. User downloads/launches 6u18 "Family JRE" installer.
  3. The installer will launch the 6u18 "Static JRE" MSI and the user will be prompted if they want to reinstall.
  4. User agrees to reinstall.
  5. User will be left with a 6u18 "Static JRE"..

Installing new 6u18 "Family JRE" when old architecture JRE 6u2 is already present

  1. User installs 6u2 JRE, which does not have new patching architecture, nor does it have Static/Update installer mode.
  2. User downloads/launches 6u18 "Family JRE" installer, which has Static/Update installer ability.
  3. 6u18 ignores the already installed 6u2 JRE, downloads a full copy of 6u18 "Family JRE" and installs into c:\Program Files\Java\jre6

Installing older "Family JRE" when newer "Static JRE" is already present

  1. User installs 6u18 "Static JRE" into c:\Program Files\Java\jre1.6.0_18
  2. User launches 6u17 iftw.exe installer in the default "family mode".
  3. Once finished, the user now has both a static copy of 6u18 at c:\Program Files\Java\jre1.6.0_18, and a 6u17 "Family JRE".

Applying consecutive patches

  1. User installs 6u16 "Family JRE" (using online, kernel, or offline installer).
  2. User installs 6u17 "Family JRE" using online installer.
  3. 6u16 is patched in place to 6u17.
  4. User installs 6u18 "Family JRE" using online installer.
  5. 6u17 is patched in place to 6u18.

Applying intermediate patches

  1. User installs 6u15 "Family JRE" (using online, kernel, or offline installer).
  2. User installs 6u17 "Family JRE" using online installer.
  3. 6u15 is patched in place to 6u17.
  4. User installs 6u18 "Family JRE" using online installer.
  5. 6u17 is patched in place to 6u18.

Installing later family version using offline installer

  1. User installs 6u17 "Family JRE" (using online, kernel, or offline installer).
  2. User downloads 6u18 offline installer.
  3. User launches 6u18 offline installer in the default "Family JRE" mode.
  4. 6u17 is uninstalled and 6u18 "Family JRE" is installed.
  5. User will be left with a 6u18 "Family JRE".

Reinstalling "Static JRE" when older "Family JRE" installed.

  1. User installs 6u17 "Family JRE" (using online, kernel, or offline installer).
  2. User installs 6u18 "Static JRE" (using online or offline installer).
  3. User launches 6u18 "Family JRE" installer (online or offline).
  4. 6u18 installer detects that 6u18 "Static JRE" already exists and switches to "static mode". In "static mode" the install prompts to reinstall. If the user selects yes, 6u18 "Static JRE" is uninstalled and reinstalled.
  5. When finished, the user now has both a family copy of 6u17 "Family JRE" at c:\Program Files\Java\jre6, and a copy of 6u18 "Static JRE" c:\Program Files\Java\jre1.6.0_18.

Reinstalling "Static JRE" without explicitly ever installing as static.

  1. User installs 6u18 "Family JRE" (using online, kernel, or offline installer).
  2. User installs 6u17 "Family JRE" in default mode (using online or offline installer). 6u17 is installed as "Static JRE". User now has 6u17 "Static JRE" and 6u18 "Family JRE".
  3. User uninstalls 6u18 "Family JRE". User now has 6u17 "Static JRE".
  4. User installs 6u16 "Family JRE" (using online or offline installer). User now has 6u16 "Family JRE" and 6u17 "Static JRE".
  5. User launches 6u17 "Family JRE" (using online or offline installer).
  6. 6u17 detects already installed as "Static JRE" and switches to "static mode". In "static mode" the install prompts to reinstall. If the user selects yes, 6u17 "Static JRE" is uninstalled and reinstalled.
  7. When finished, the user now has both a family copy of 6u16 "Family JRE" at c:\Program Files\Java\jre6, and a copy of 6u17 "Static JRE" c:\Program Files\Java\jre1.6.0_17.