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

System level property "deployment.expiration.check.enabled" doesn't work

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 7u40
    • deploy
    • windows_7

      FULL PRODUCT VERSION :
      java version "1.7.0_40"
      Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
      Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.1.7600]
      Microsoft Windows [Version 6.1.7601]


      A DESCRIPTION OF THE PROBLEM :
      We use a system level deployment.properties file with an entry "deployment.expiration.check.enabled=false" to suppress the update dialog "Your java version is out of date". We install this file automatically when installing a new Java version on end-user machines.
      But this feature doesn't work when you use the Java Plug-in for the first time (e.g. first time running an applet on a fresh built machine). It seems that the system level property file (or just this property) is ignored when the java plug-in runs for the first time. Or it is evaluated too late.
      Java plug-in should evaluate this property in the system level file before checking for newer Java versions.

      If you run the Java Control Panel before you run any applet, everything works fine. You don't need to change any properties, just open and close the control panel. That seems to create the necessary registry entries and/or property files.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Two ways to reproduce:
      1) Install JRE 7u40 32 Bit on an clean Windows machine where no JRE was installed before. Create a file "C:\Windows\Sun\Java\Deployment\deployment.properties" and insert a line "deployment.expiration.check.enabled=false"
      or...
      2) On a machine that where JRE 7u40 is already installed and in use: delete the folder "%userprofile%\AppData\LocalLow\Sun\Java\Deployment". Delete the registry node "HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties". Create a system level deployment.properties file as described before.

      Now, for 1) and 2)...
      Do not start Java Control Panel!
      Run a Java Applet in Internet Explorer.


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Java Applet should run without prompting the user to update his Java version.
      ACTUAL -
      The popup dialog "Java Update Needed" - "Your Java version is out of date" appears. User must choose one of the 3 options (Update, Block, Later).

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Two possible workarounds:
      1) Create a registry entry HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties -> deployment.expiration.check.enabled=false before the user runs an applet for the first time.
      2) User must choose "Later" on the update dialog. After that, the applet will run and the update dialog won't appear again.

            mcherkas Mikhail Cherkasov (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: