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

Group Policy Assigned JRE 1.6.0_03 uninstalls itself when sysprep.exe is run

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Future Project
    • Icon: P4 P4
    • 8
    • 6
    • install
    • x86
    • windows_vista

      FULL PRODUCT VERSION :
      java version "1.6.0_03"
      Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
      Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows Version 6.0.6000 Vista 32-bit
      Fully patched as-of 11/28/2007

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      see step-by-step

      For detailed steps for creating a windows image in this manner, see: http://www.ssw.com.au/ssw/standards/rules/RulesToBetterWindowsVistaDeployment.aspx


      A DESCRIPTION OF THE PROBLEM :
      Once JRE is installed via group policy (assigned to a computer OU), if sysprep.exe is run on the machine, JRE will uninstall itself on next boot, and Group Policy will not reinstall it. Furthermore, a manual reinstall will fail, causing the application to then be completely removed. At this point, running the JRE installer will properly install the software.

      The strange part is, once Windows has a fresh copy of JRE installed, it continues to work flawlessly, and Group Policy does not subsequently uninstall it. Furthermore, group policy will properly install JRE on windows systems that don't already have it installed. The problem seems to only occur when it is re-joined to group policy after sysprep.exe has been run.



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. In a Windows 2000 functional level domain, assign JRE 1.6.0_03 to a computer via an Organizational Unit.

      2. Run <gpupdate> to refresh the Group Policy (there should be a warning that the computer policy could not be applied and will be applied on next boot), and restart the computer.

      3. Run Sysprep.exe on a a computer with the GP assigned JRE via: <C:\Windows\System32\sysprep\sysprep.exe /oobe /generalize /shutdown>

      4. Boot windows, run through the install wizard, and log on locally. A check of Add/Remove Programs reveals that JRE is properly installed, and a test of IE7's Java plugin should check out A-OK.

      5. Re-join the computer to the domain.

      6. Move the computer to the Organizational Unit that contains the Assigned JRE application.

      7. Run <gpupdate> to update group policy and restart the computer.

      8. When the computer boots and logs in, check Add/Remove Programs. The Java icon is missing from the listing, and C:\Program Files\Java is mostly empty. Java is now broken.

      9. The only way to fix the installation is to manually re-install the application with <msiexec /i "\\DFSShare\Java 1.6.0_03\jre1.6.0_03.msi">. When run, JRE will notice the program is already "installed", and ask to re-install. However, JRE will simply completely remove itself, including from Add/Remove Programs.

      10. To finally reinstall JRE, run the above msiexec command again, and JRE will properly install itself this time. Smooth sailing from here on in.


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      When JRE is installed on a system via group policy, running sysprep.exe, restarting, and re-joining the computer to the domain and OU should not uninstall JRE.
      ACTUAL -
      JRE uninstalls itself and can not be reinstalled automatically.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      msiexec /i jre1.6.0_03.msi
      (run the above command twice)

            cgruszka Chris Gruszka (Inactive)
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: