Java exe launcher con soporte para Windows 7


El problema

Actualmente uso exe4j 4.4.2 para envolver nuestra aplicación cliente en un ejecutable nativo de Windows, pero el resultado no se integra tan bien con Windows 7.

Por ejemplo: Cuando hago clic derecho en la barra de tareas, solo ofrece una ventana emergente para cerrar la aplicación, pero no se fija. Eclipse ' Equinox Launcher por otro lado hace eso con bravuconería.

Estoy buscando un lanzador java exe que tenga las siguientes características:

  • Envuelve frascos en Windows nativo ejecutables (no Java Web Start o similar)
  • No extrae el jar del ejecutable
  • No necesita acceso de escritura en"Archivos de programa"
  • Utiliza el nombre del archivo ejecutable como nombre del proceso (solo un proceso)
  • Se integra bien con Windows 7 (esp. fijación en la barra de tareas)
  • Permite establecer argumentos JVM (esp. tamaño del montón)
  • Personalización flexible para la búsqueda de JRE
  • Ligero
  • Mantenido activamente
  • Se integra bien en Ant build
  • Preferiblemente libre

He comprobado lo siguiente:

Exe4j

  • Falta la integración de Windows 7
  • No es caro, pero ordenar y la distribución de licencias a las máquinas de compilación es un problema.
  • La búsqueda de JRE no es lo suficientemente flexible

Equinoccio de Eclipse

  • No ligero
  • Parece hacer todo lo que quiero, excepto que no tengo idea de cómo para usarlo con una aplicación no basada en eclipse.
  • Puedo usarlo fuera de OSGI, PDE-Construir mundo?

WinRun4J

  • Búsqueda de JRE no bien documentada
  • No parece ampliamente utilizado a pesar del increíble conjunto de características, ¿qué me estoy perdiendo?

Launch4J

  • No admite la configuración del nombre del proceso en Windows 7 (Bug ID 3353972). Hay un parche (Bug ID 1670471) pero ha sido rechazado con referencia a jliftoff que está muerto.
  • La búsqueda de JRE no es flexible suficientemente.

JSmooth

  • No parece mantenerse activamente.
  • La última versión es de 2007, mucho antes de Windows 7.

Hay otras opciones? ¿Existe la posibilidad de utilizar Eclipse launcher con una aplicación que no sea Eclipse-base?

Author: bbuser, 2011-08-17

4 answers

Estoy contento con WinRun4J. La búsqueda de JRE funciona bien para mí. A veces se atraganta especialmente en sistemas de 64 bits si se instalan y registran múltiples JREs y JDKs en el registro de Windows, pero esto generalmente se puede arreglar proporcionando la ruta correcta en la correspondiente .archivo ini.

No utilicé Launch4J porque crea un nuevo (temporal) .exe en la carpeta de instalación de JRE que me parece un poco extraño. La ventaja de ese método es, que puede utilizar una sola .exe para ambos JVMs de 32 y 64 bits

 1
Author: a_horse_with_no_name,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-31 08:22:54

Pruebe el Instalador avanzado http://www.advancedinstaller.com/java.html (Hay una edición gratuita disponible en este).

 3
Author: Ravindra Gullapalli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-28 23:34:55

Me parece que solo necesitas ir con Launch4J. El nombre del proceso coincide con el.nombre exe con el que lanzas. Un gran ejemplo de un programa que está envuelto de esta manera es "Keystore Explorer 4.01".

 1
Author: djangofan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-25 23:36:15

Crearía un archivo bat. Envuelva este archivo bat en un exe. Puedes crear un exe con un icono y todo. Prueba este convertidor bat a exe:

Http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html

De esta manera, usted tiene un mejor control. El tamaño del exe es muy pequeño.

Editar: Además, la creación del exe es una cosa de tiempo.

 1
Author: sethu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-09 11:07:45