Respuesta

1

Las herramientas comerciales como InstallAnywhere pueden hacer eso. Después de instalar el JAR (y los enlaces, etc.), los instaladores pueden verificar el registro si Java ya está instalado y continuar o no. Siempre que el instalador admita todas las plataformas necesarias, está bien.

0

No he oído hablar de nada que funcione en todas esas plataformas, pero JSmooth podría ayudar (se ajusta a sus necesidades en Windows). Lo he usado hace aproximadamente 2 años y funcionó bien.

+0

Hola abyx .. Necesito tu ayuda en JSmooth .. ¿Puedes ayudarme? – Venky

+0

@Venkatesh - Han pasado 4 años desde la última vez que lo usé y no puedo decir que recuerde nada ... Lo siento :) – abyx

6

Si una herramienta comercial está bien, puedo recomendar install4j. 1, 2 y 4 son fáciles de hacer, pero alrededor de 3 no estoy seguro. Editar: Probablemente pueda lograr eso instalando su aplicación como un "servicio", que install4j admite para todas las plataformas. Citando de su página de Features:

install4j ofrece soporte completo para generación y servicios de instalación (demonios). Para los servicios, install4j genera ejecutables de servicios en Windows, elementos de inicio en Mac OS X y scripts de inicio/detención en las plataformas Unix/Linux .

Edición: En cuanto a # 2, JRE detección: install4 tiene opciones muy agradables y flexibles para la agrupación JRE/detección. Puede incluir un JRE (estático o dinámicamente, compartido o no) o prefiere usar uno ya presente, con la posibilidad de descargar un JRE desde su instalador como alternativa. Consulte estos documentos para obtener más información: How Installers Find a JRE y JRE Bundles.

(More about my experiences with install4j.)

Para otras herramientas, se puede comprobar algunos de los anteriores Java installer preguntas sobre SO:

+0

Al notar la respuesta de Peter, por cierto, definitivamente * recomendaría elegir install4j sobre InstallAnywhere, que es demasiado caro y torpe. Reemplazamos InstallAnywhere con install4j; vea el enlace "más sobre mis experiencias" arriba. – Jonik

1

Usted podría usar launch4j, no instala automáticamente java sin embargo. Pero tal vez hay una manera de hacer que funcione empaquetando el JRE, por ejemplo.

1

Es posible que desee echar un vistazo a BitRock InstallBuilder, que proporciona la funcionalidad incorporada para realizar lo que desee. Estaremos encantados de crear un instalador de muestra para usted, solo escríbanos.

1

Recomiendo descargar el código fuente para los scripts de compilación de programas populares de Java como limewire y seguir su ejemplo. El fin.

... O bien, puede hacerlo como lo hice:

  • he hecho la detección JRE y descarga/instalación de redistribuible, si es necesario con NSIS en Windows. Quizás un .msi es mejor que un installer.exe creado por NSIS. Creo que msi son más como paquetes en mac, por lo que permiten actualizaciones adecuadas. Quizás NSIS cree MSI ... no estoy seguro.
  • Mac es simplemente un paquete de Java aplicación y especifica el JRE y otra información de Java en el info.plist y puede crear opcionalmente un archivo .pkg para dar al usuario un instalador y abrigarse en un dmg con el línea de comando dmg programas.
  • no he hecho Linux y no planeo ... lo siento :)

Todo esto fue un buen trozo de trabajo. Primero hice las cosas de Windows y un par de años después hice las cosas de Mac.

Puede integrar todo esto en los scripts de construcción de NSIS y Ant. No recuerdo por qué no utilicé install4j. Probablemente era demasiado barato :)

Cuestiones relacionadas