Background:
The fact that ISVs typically certify their Java applications on a particular ver
sion of the JRE has led to the multiple JRE (MRE) feature that allows several ve
rsions of Java to be installed on a system at the same time and provides a JRE s
election mechanism for the Java launcher and Jar file manifests. This mechanism
is forward compatible so that launchers of earlier versions can launch newer ver
sions of the JRE.
Java webstart has always been a launcher that is aware of several versions of Ja
va and launches the right one according to selection in the jnlp file. Is has be
en enhanced to support the JRE discovery mechanism that has been introduced as p
art of MRE.
Problem:
Unlike the Java launcher the Java webstart binary contains significant functionality that a jnlp application can request via the jnlp file. For example its possible to trigger the creation of Start menu entries, register the Java app to file types in the desktop etc. Since the jnlp filetype is associated with the default JRE (e.g. in the browser and in the desktop) jnlp apps are restricted to use the jnlp functionality available in the JRE that is the default on the system.
In particular a jnlp application that is certified to run on a JRE that is not the default on a system may not run on the system at all - even though the matching JRE is installed - because it is executed by the wrong version of webstart.
Solution:
Webstart itself should become MRE aware. When it is started to execute an jnlp file it should check whether it is the webstart binary corresponding to the JRE version the jnlp application is requesting. If this is not the case the jnlp execution request should be forwarded to the JRE that is requested in the jnlp file.
The fact that ISVs typically certify their Java applications on a particular ver
sion of the JRE has led to the multiple JRE (MRE) feature that allows several ve
rsions of Java to be installed on a system at the same time and provides a JRE s
election mechanism for the Java launcher and Jar file manifests. This mechanism
is forward compatible so that launchers of earlier versions can launch newer ver
sions of the JRE.
Java webstart has always been a launcher that is aware of several versions of Ja
va and launches the right one according to selection in the jnlp file. Is has be
en enhanced to support the JRE discovery mechanism that has been introduced as p
art of MRE.
Problem:
Unlike the Java launcher the Java webstart binary contains significant functionality that a jnlp application can request via the jnlp file. For example its possible to trigger the creation of Start menu entries, register the Java app to file types in the desktop etc. Since the jnlp filetype is associated with the default JRE (e.g. in the browser and in the desktop) jnlp apps are restricted to use the jnlp functionality available in the JRE that is the default on the system.
In particular a jnlp application that is certified to run on a JRE that is not the default on a system may not run on the system at all - even though the matching JRE is installed - because it is executed by the wrong version of webstart.
Solution:
Webstart itself should become MRE aware. When it is started to execute an jnlp file it should check whether it is the webstart binary corresponding to the JRE version the jnlp application is requesting. If this is not the case the jnlp execution request should be forwarded to the JRE that is requested in the jnlp file.