If multiple jre, say 1.3.1fcs and 1.4.0_02, exists in a system, JaWS prefers 1.3.1fcs.
OS : WindowsNT, Windows XPpro
JDK : JDK 1.4.0_02rebundle and FCS
Steps To Reproduce Dirty Installation of J2SDK1.4.0_02 rebundle:
1. Install J2SDK 1.3.1 (FCS)
2. Install J2SDK 1.4.0_02rebundle/1.4.0 FCS over existing J2SDK 1.3.1 (FCS)
3. Start JaWS, it works
4. Uninstall J2SDK 1.3.1 (FCS)
5. JaWS will not work
When running a Java Web Start demo after uninstallation 1.3.1, Java Web Start looks for the previously installed version of JRE, 1.3.1, and hence cannot run the demo. This should not have been the case as Web Start was installed along with JRE 1.4.0_02 and should have given preference to it's own JRE (1.4.0_02). Upon looking at the javaws.cfg file. It is evident that this is the case.
This is also experienced when testing with JDK 1.4 FCS.
Error Message below is produced:
- Bad Installation. Error invoking Java VM (SysExec)
I feel it necessary to point out that the removal of a JRE shows us the problem, but is not the problem I was referring to when I logged the bug.
Upon further investigation, i have found that when both JREs (1.3.1 installed before 1.4 say) are on the system, and a JAWS demo is ran, the Java version used to run the demo, shown on the Java Console indicates the older JRE, 1.3.1. This is further evident in the javaws.cfg file where it clearly indicates where -
javaws.cfg.jre.0. entries point to the older JRE version, 1.3.1
and the newer JRE version given a lower "preference" eg javaws.cfg.jre.2.
The problem occurs during the installer program of 1.4.0. While installing JAWS it only detects 1.3.1 as a suitable JRE. I think 1.4 should be detected during the install, and hence JAWS would then use 1.4 ?
Removal of the older JRE version therefore results in the failure to run the JAWS demo.