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

Java updates break web start shortcuts by moving javaws.exe

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P3 P3
    • 9
    • 7u21
    • deploy
    • windows_7

      FULL PRODUCT VERSION :
      java version " 1.7.0_21 "
      Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

      java version " 1.7.0_21 "
      Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
      Java HotSpot(TM) Client VM (build 23.21-b01, mixed mode, sharing)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.2.9200]
      Microsoft Windows [Version 6.1.7601]
      Microsoft Windows [Version 6.0.6002]
      plus other windows versions we didn't collect that string from. All reported versions include:

      Windows 8 Pro
      Windows 8
      Windows 7 Pro
      Windows 7
      Windows Vista Pro
      Windows Vista Home Basic
      Windows Vista Starter

      A DESCRIPTION OF THE PROBLEM :
      All of our Java Web Start deployed applications often break on Java updates when javaws.exe is moved for some reason. The update to 1.7.0_21 has brought the most reports with the program disappearing from Windows\System32 or Windows\SysWOW64.

      After fixing the broken shortcuts by deleting them all and re-creating them with the Java Web Start Cache Viewer or by uninstalling and re-installing, most now point to " Program Files\Java\jre7\bin " or " Program Files (x86)\Java\jre7\bin " .

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Have a Java Web Start deployed application on Windows using 1.7.0_17 or earlier and see that the shortcut points to the System32 directory for javaws.exe, eg C:\Windows\System32\javaws.exe. Combinations of pure 32 bit, 32bit on 64 bit windows (SysWOW64), and 64 bit on 64 bit windows all have the potential to fail.

      Upgrade to Java 1.7.0_21 and see that javaws.exe is no longer in the System32 directory. Also note that newly created web start shortcuts mostly point to the Program Files directory. In some cases, such as an x64 system with 32 and 64 bit JRE installed, the fixed shortcuts may point to the System32 directory where they once pointed to SysWOW64.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Continue to leave javaws.exe in the System32 folder. If the Program Files folder is to be the new canonical location that web start shortcuts on windows should point to, have the javaws.exe in System32 be a light wrapper that calls the correct one, instructing it to re-create the shortcuts with the new path in the same manner that it recreates shortcuts when the jnlp file is updated.
      ACTUAL -
      A shortcut error message is displayed when javaws.exe has been deleted from it's previous location.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Problem with Shortcut

      The item 'javaws.exe' that this shortcut refers to has been changed or moved, so this shortcut will no longer work properly.

      Do you want to delete this shortcut?

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      This is nothing Java source code specific. It is an issue with the installer or shortcut creating system of web start on Windows. Any web start program that asks for shortcuts to be created can recreate the problem.
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      We have found no work-around. We just have to clean up the mess after it is broken by walking customers through deleting all the shortcuts or " uninstalling " using the JWS cache viewer, and then re-create the shortcuts using the cache viewer or " re-installing " by vising the JNLP download link.

            vsaiprasad Vikas Saiprasad
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: