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