Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6579208

FamilyVersionSupport removed when installing jre-6u2-windows-i586-p.exe

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 5.0u13, 6u2
    • Fix Version/s: 6u4
    • Component/s: install
    • Subcomponent:
    • Resolved In Build:
      b03
    • CPU:
      x86
    • OS:
      windows_vista
    • Verification:
      Not verified

      Backports

        Description

        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.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  ccheung Calvin Cheung
                  Reporter:
                  ndcosta Nelson Dcosta (Inactive)
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Imported:
                    Indexed: