-
Bug
-
Resolution: Fixed
-
P3
-
5.0u13, 6u2
-
b03
-
x86
-
windows_vista
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2199047 | 7 | Calvin Cheung | P3 | Closed | Fixed | b64 |
JDK-2151423 | 5.0u14 | Vikram Aroskar | P3 | Closed | Fixed | b02 |
FULL PRODUCT VERSION :
java version 1.6.0_02
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Windows Vista Ultimate
running 'ver' returns: Microsoft Windows [version 6.0.6000]
A DESCRIPTION OF THE PROBLEM :
When installing jre-6u2-windows-i586-p.exe on Windows Vista the FamilyVersionSupport entry in the Windows registry is removed. This means that your recommend approach to figure out which java version is installed when running applets, http://java.sun.com/j2se/1.5.0/family-clsid.html, is not working any more. The result of this is that all Applets are running using the newest version of the installed JRE even though it requires for instance JRE 1.4.2.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) Install Windows Vista.
2) Install all Windows updates.
3) Install j2re-1_4_2_08-windows-i586-p.exe.
4) Install jre-6-windows-i586.exe and observe how the FamilyVersionSupport entry is added to the Windows registry.
5) Install jre-6u2-windows-i586-p.exe and observe how the FamilyVersionSupport entry is removed from the Windows registry.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I did not expect the FamilyVersionSupport entry to be removed from the Windows registry.
ACTUAL -
The FamilyVersionSupport entry is removed from the Windows registry and the Applets are not using the correct JRE anymore. The following java script, recommended by you, is not working anymore:
<SCRIPT language="JavaScript">
// Return true if the family version is supported.
function isFamilyVersionSupported() {
try {
return (new ActiveXObject("JavaPlugin.FamilyVersionSupport") != null);
} catch (exception) {
return false;
}
}
if (isFamilyVersionSupported())
// Family CLSID is supported
document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-FFFF-ABCDEFFEDCBA}\" ..... </OBJECT>");
else
// No family CLSID supported, continue to use specific version
document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-0008-ABCDEFFEDCBA}\" ..... </OBJECT>");
</SCRIPT>
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Update the registry manually with the following reg file:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\JavaPlugin.FamilyVersionSupport]
[HKEY_CLASSES_ROOT\JavaPlugin.FamilyVersionSupport\CLSID]
@="{761497BB-D6F0-462C-B6EB-D4DAF1D92D43}"
Or reinstall jre-6-windows-i586.exe again.
java version 1.6.0_02
Java(TM) SE Runtime Environment (build 1.6.0_02-b05)
Java HotSpot(TM) Client VM (build 1.6.0_02-b05, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Windows Vista Ultimate
running 'ver' returns: Microsoft Windows [version 6.0.6000]
A DESCRIPTION OF THE PROBLEM :
When installing jre-6u2-windows-i586-p.exe on Windows Vista the FamilyVersionSupport entry in the Windows registry is removed. This means that your recommend approach to figure out which java version is installed when running applets, http://java.sun.com/j2se/1.5.0/family-clsid.html, is not working any more. The result of this is that all Applets are running using the newest version of the installed JRE even though it requires for instance JRE 1.4.2.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) Install Windows Vista.
2) Install all Windows updates.
3) Install j2re-1_4_2_08-windows-i586-p.exe.
4) Install jre-6-windows-i586.exe and observe how the FamilyVersionSupport entry is added to the Windows registry.
5) Install jre-6u2-windows-i586-p.exe and observe how the FamilyVersionSupport entry is removed from the Windows registry.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I did not expect the FamilyVersionSupport entry to be removed from the Windows registry.
ACTUAL -
The FamilyVersionSupport entry is removed from the Windows registry and the Applets are not using the correct JRE anymore. The following java script, recommended by you, is not working anymore:
<SCRIPT language="JavaScript">
// Return true if the family version is supported.
function isFamilyVersionSupported() {
try {
return (new ActiveXObject("JavaPlugin.FamilyVersionSupport") != null);
} catch (exception) {
return false;
}
}
if (isFamilyVersionSupported())
// Family CLSID is supported
document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-FFFF-ABCDEFFEDCBA}\" ..... </OBJECT>");
else
// No family CLSID supported, continue to use specific version
document.writeln("<OBJECT classid=\"clsid:{CAFEEFAC-0014-0002-0008-ABCDEFFEDCBA}\" ..... </OBJECT>");
</SCRIPT>
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Update the registry manually with the following reg file:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\JavaPlugin.FamilyVersionSupport]
[HKEY_CLASSES_ROOT\JavaPlugin.FamilyVersionSupport\CLSID]
@="{761497BB-D6F0-462C-B6EB-D4DAF1D92D43}"
Or reinstall jre-6-windows-i586.exe again.
- backported by
-
JDK-2151423 FamilyVersionSupport removed when installing jre-6u2-windows-i586-p.exe
- Closed
-
JDK-2199047 FamilyVersionSupport removed when installing jre-6u2-windows-i586-p.exe
- Closed