Issues with installing JavaFX on first use

Anthony Vanelverdinghe anthony.vanelverdinghe at gmail.com
Sun Apr 29 12:48:31 PDT 2012


Hello to all

I 've encountered 2 issues with installing JavaFX on first use. The 
following are surely not critical bugs, but since Java SE 7u4 is about 
to be released to the masses, it would be good to have these solved soon 
rather than late.

Environment:
OS: Windows Vista Business SP2 32-bit
Java: Java SE 7u4 JRE (Windows x86 Offline (32-bit)) as downloaded from 
here ( 
http://www.oracle.com/technetwork/java/javase/downloads/jre-7u4-download-1591157.html 
)
no other JDK or JRE is installed

Following are the steps to reproduce:
download & unzip the JavaFX samples from the Oracle site ( 
http://download.oracle.com/otn-pub/java/javafx/2.1.0-b21/javafx_samples-2_1_0-windows.zip 
)

Problem 1: open BrickBreaker.jnlp. Now an error comes up saying:
C:\Users\Anthony\javafx-windows-i586__Vlatest.exe is not a valid Win32 
application.

The problem, I believe, is the following:
BrickBreaker.jnlp refers to 
http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp 

which in turn refers to 
http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/JavaFXRuntimeInstaller.jar 

this jar contains a class JavaFXRuntimeInstaller, which contains the 
download locations for the JavaFX installers:

private static final String DEFAULT_I586_URL = 
"http://download.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe"; 

private static final String DEFAULT_X64_URL = 
"http://download.oracle.com/otn-pub/java/javafx/javafx-windows-x64__Vlatest.exe"; 


using the first URL to continue my explanation:
http://download.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe 

redirects with http code 302 to: 
https://edelivery.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe 

which in turn redirects with http code 302 to: 
http://download.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe?AuthParam=1335709310_1e63393a9975cbe57e4ae096c1380b6b 


so JavaFXRuntimeInstaller basically downloads the file at 
DEFAULT_I586_URL to a local file & executes the local file, but:
by default redirects are followed, unless it goes from http to https or 
vice versa (see 
http://stackoverflow.com/questions/1884230/java-doesnt-follow-redirect-in-urlconnection), 
so JavaFXRuntimeInstaller simply downloads the contents of 
http://download.oracle.com/otn-pub/java/javafx/javafx-windows-i586__Vlatest.exe 
(i.e. nothing) & then executes the empty downloaded file. This results 
in the error above saying the file is not a valid Win32 application.

So the fix should be as simple as eliminating the redirect to a https 
URL in the scenario above.

Problem 2: open BrickBreaker.html & click the Webstart link, now the 
JavaFX 2.0.3 installer is downloaded, instead of the expected JavaFX 
2.1.0 one (note that trying to start the embedded JavaFX application 
does download the JavaFX 2.1.0 installer). I have absolutely no clue why 
this happens, especially since the encoded jnlp_content of the Webstart 
link is exactly the same as both the encoded jnlp_content of the 
embedded JavaFX application & the external BrickBreaker.jnlp file.

Best regards

   Anthony Vanelverdinghe


More information about the openjfx-dev mailing list