win32 tutorial portable for descargar jar exe java launch4j

jar - tutorial - ¿Cómo puedo agrupar un JRE en un EXE para una aplicación Java? Launch4j dice "falta el tiempo de ejecución o está dañado".



launch4j descargar (6)

Es fácil empaquetar jre en launch4j ..

simplemente copie el jre en la misma carpeta de salida

En el cuadro de texto del entorno del paquete jre, simplemente proporcione la carpeta jre

En el cuadro de texto de la variable de entorno (presente en la misma página a continuación), indique hasta la bandeja

Luego cree exe .. Funciona como se espera sin jre en la máquina.

Gracias

Soy nuevo en la programación en Java, pero en general estoy familiarizado con cómo funciona todo. Me gustaría poder poner tanto un archivo jar como un jre en un ejecutable de Windows (exe) para que cuando lo distribuya, el cliente no tenga que tener un JRE instalado. ¿Qué programa debo usar?

Tengo launch4j y parece hacer exactamente lo que quiero, pero cuando intento ejecutar la aplicación, obtengo "Esta aplicación se configuró para usar un entorno de tiempo de ejecución Java incluido pero falta el tiempo de ejecución o está dañado".

Quiero que mi aplicación sea solo un ejecutable ejecutable, no un instalador. Como mínimo, ¿alguien puede mostrarme cómo empaquetar correctamente un JRE con launch4j?


Hay varias razones por las que launch4j no funciona sin problemas. Algunas de las razones son:

1) el usuario no ejecuta la aplicación como administrador

2) El usuario no configura correctamente la imagen del icono. debe estrictamente .ico


La única forma en que podía agrupar un JRE era usar launch4j e Inno Setup Compiler .

Primero, cree una carpeta jre6 (por ejemplo) en el mismo directorio que su archivo de salida (.exe).

Luego copie el JRE de su sistema en su carpeta jre6 .

Luego, abre Launch4J y configura la ruta JRE jre6 : solo escriba jre6 . Luego haga clic en el botón Generar (obviamente, después de haber ingresado todos los demás parámetros, pero el único valor que necesita ingresar en la pestaña JRE en sí es el valor de la ruta JRE incluida ).

Habría esperado que funcionara, pero si luego mueve el .exe a una nueva ubicación (por lo que ya no está ubicado junto a su carpeta jre6 ), obtiene esta aplicación configurada para usar un entorno de tiempo de ejecución Java incluido, pero el tiempo de ejecución no se encuentra o está dañado cuando intenta ejecutar la aplicación ...

He estado jugando con esto todo el día y no había manera de que Launch4J incluyera el JRE en el archivo .exe. Realmente pobre en mi opinión, ya que su documentación no parece aludir a este problema en absoluto.

Entonces, lo que hice para resolver fue usar Inno Setup Compiler (ISC) . Esta aplicación se utiliza para envolver su archivo .exe como un archivo de Windows Installer. Así que agregué una configuración al script ISC que copia el JRE en el paquete del instalador. La línea que agregué al script (en la sección [Files] ) era:

Source: "M:/Netbeans/MyApp/jre6/*"; DestDir: "{app}/jre6/"; Flags: recursesubdirs createallsubdirs

... un poco de solución, pero hizo el truco.

Repita todos los pasos anteriores, y debe estar ordenado.



Nunca he usado el producto Launch4J, buena suerte para configurarlo correctamente.

Parece que podrías ir al Foro de discusión en Sourceforge para obtener otras sugerencias here

Otras sugerencias:

La mayoría de los productos que he visto de IBM (Websphere) y Oracle simplemente extraen un JRE en el directorio de instalación y configuran el comando de inicio por lotes para usar el JRE instalado. Esencialmente, el JRE y su archivo jar se instalarían de una sola vez.

El exe de instalación por lo general comprueba si ya está instalado y omite ese paso si lo encuentra ya allí. Esto es útil para las actualizaciones de solo el archivo jar.

Tener la instalación local también resuelve el problema de que el cliente instale su propio JRE que puede ser incompatible o contener errores. De esta manera tratas con una versión conocida de JRE.

La ruta excelsior está bien si no tiene un componente gráfico para su aplicación (ha pasado un tiempo, esa restricción puede haber cambiado). También existen otras restricciones, pero probablemente sea mejor que distribuyas un JRE con tu código en un solo instalador ejecutable.