FULL PRODUCT VERSION :
java version "1.6.0-rc"
Java(TM) SE Runtime Environment (build 1.6.0-rc-b87)
Java HotSpot(TM) Client VM (build 1.6.0-rc-b87, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
When upgrading the JNLP application on the server JWS corectly detects that an update is waiting. It performs the download and then presents me with a typical application error box (very user unfriendly BTW), this is the wrapped exception:
java.io.FileNotFoundException: C:\Documents and Settings\Shai Almog\Application Data\Sun\Java\Deployment\cache\6.0\19\25c064d3-5077faf2 (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Which obviously means JWS can't find the file it tried to store.
This is the regular exception:
CouldNotLoadArgumentException[ Could not load file/URL specified: C:\Documents and Settings\Shai Almog\Application Data\Sun\Java\Deployment\cache\6.0\19\25c064d3-5077faf2]
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
This happens every time I upgrade my application on our server, this happens on my development machine so I can't verify whether something is broken in my own installation. BUT THIS IS STILL A BUG! JWS should be robust enough to deal with a broken installation and should at the VERY MINIMUM detail what is going on and how this should be fixed! Many people have multiple versions of the JDK on their machine and this sort of failure is very likely.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Application should run correctly. And failing to do so provide a user friendly error dialog that provides actual details of what went wrong or better yet fix the users installation for him (i.e. the cache directory).
ACTUAL -
Users might think my application is broken since even the error message blames my application rather than JWS which is really whats broken!
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Application Error
Unable to launch application
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Uninstall the application and try to install it via JNLP (uninstall is required you can't just click the JNLP), this works. Its just updating that fails.