2011-11-18 18 views
5

Tengo un archivo jnlp para implementar mi aplicación javafx 2.0, sin embargo, ¿cómo me aseguro de que los usuarios tengan el tiempo de ejecución de javafx correcto (32 o 64 bits según el jvm presente en la máquina) y, de no ser así, descárguelo y ejecuta la aplicación.¿Cómo implementar correctamente una aplicación JavaFx 2.0 de escritorio utilizando jnlp para 32 y 64 bits?

Suponiendo que el usuario no tiene un tiempo de ejecución javafx instalada actualmente, los problemas que estoy enfrentando en su mayoría con un equipo de 64 bits con 32 bits, 64 bits o ambos JRE son:

1) La guía de despliegue Javafx swing menciona usar la etiqueta <jfx:javafx-runtime version /> para descargar el tiempo de ejecución jfx apropiado, pero JRE por debajo de 1.7 no entiende esta etiqueta/espacio de nombres.

2) Si está instalado un jre de 32 bits en una máquina de 64 bits, ¿cómo instalo mi aplicación en la carpeta "Archivos de programa (x86)", descargo y uso el tiempo de ejecución javafx de 32 bits.

3) Si hay una jre de 64 bits instalada en una máquina de 64 bits, ¿cómo instalo mi aplicación en la carpeta "Archivos de programa", descargo y uso el tiempo de ejecución de javafx de 64 bits.

Así es como mi archivo jnlp ve actualmente:

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"href="iMonLauncher.jnlp"> 
    <information>  
     <title>iMonLauncher</title> 
     <vendor>Administrator</vendor> 
     <homepage href="file:///C%3A/Program%20Files/HP/Pulse/PulseLite"/>  
     <description>iMonLauncher</description> 
     <offline-allowed/>  
    </information> 
    <security>  
     <all-permissions/> 
    </security> 
    <resources> 
     <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> 
     <jar href="iMon.jar" size="428419"/>   
     <jar href="lib/ibase-core.jar" size="197029"/> 
     <jar href="lib/ibase-fx.jar" size="210175"/> 
     <jar href="lib/imonDB.jar" main="true" size="156616"/> 
     <jar href="lib/imon-service.jar" main="true" size="73190"/> 
     </resources> 
    <application-desc name="iMon" main-class="imon.Main" > 
    </application-desc> 
    <update check="always"/> 

El código base cambia de forma automática, para que apunte a la carpeta de archivos de programa correcta dependiendo de la arquitectura.

¡Gracias de antemano!

Respuesta

1

Extrañas xmlns: jfx namespace en tu jnlp. Debería comienza con

<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="iMonLauncher.jnlp"> 

Una vez que el usuario ha instalado java regular y hecho clic en dicho archivo jnlp que se presentaría con el mensaje de descarga automática de FX. Descubrirá qué java se utiliza, descargar e instalar la versión apropiada de javafx.

jnlp response

+0

He utilizado el 'xmlns: espacio de nombres jfx' en mi jnlp, pero creo que este espacio de nombres se reconoce solamente con JRE 1.7+ y no en las versiones anteriores de JRE. Entonces, si el usuario tiene jre 1.6+, este espacio de nombres se ignora por completo, sin que javafx esté instalado en el sistema y, por lo tanto, la aplicación no se inicia. – Saurabh

Cuestiones relacionadas