¿QUÉ ES INSTALL4J?
install4j es una plataforma cruzada de instalación de Java que produce instaladores nativos para todas las plataformas principales. Install4j ofrece una interfaz gráfica de usuario intuitiva que hace que sea fácil de definir rápidamente los proyectos de instalación. Incluye un compilador de línea de comandos y la integración de Apache ANT.
Install4j se puede descargar en su Web Oficial.
Web: https://www.ej-technologies.com/products/install4j/overview.html
1.- REQUERIMIENTOS
Los requerimientos para seguir este tutorial son los siguientes:
- Install4j
- Un programa desarrollado por nosotros en Java
2.- INSTALACIÓN DE INSTALL4J
Para este ejemplo, se usará Install4j para Windows, por tanto, la instalación del programa será tan sencilla como descargar el programa de la Web Oficial https://www.ej-technologies.com/products/install4j/overview.html, doble click en el fichero descargado y "Siguiente->Siguiente->Siguiente->"...
Install4j
3.- SENCILLO PROGRAMA EN JAVA
En este tutorial, queda fuera del objetivo saber a programar en Java, por tanto, el programa que usaremos en este ejemplo es un sencillo programa en Java (creado por mi con Netbeans), que estará centrado en la pantalla, con un botón, un campo de texto y el botón de salir. Podremos desarrollar cualquier programa en Java, independientemente de su complejidad, pero el proceso para la creación del instalador será exactamente el mismo.
Programa Java
4.- CREAR EL INSTALADOR
El asistente para la creación del instalador es una auténtica maravilla y nos irá guiando -paso a paso- a través de las diferentes pantallas de configuración para generar de forma correcta el instalador para la aplicación.
GENERAL SETTINGS: (Configuración general)
Application Info: (Información de la aplicación)
En este apartado debemos rellenar la información general de nuestra aplicación Java. Nombre de la aplicación, nombre corto, versión, página web....
Información General
Java Version: (Versión de Java)
Deberemos seleccionar la versión mínima y versión máxima(ésta es opcional) de JRE necesaria para que funcione nuestra aplicación. Solamente es obligatorio poner la versión mínima:
Versión de JRE
Languages: (Idiomas)
El instalador soporta varios idiomas y se pueden configurar en este apartado. Solamente queremos instalar el idioma Español y lo dejaremos configurado como "Principal Language" y no añadiremos ningún otro idioma. Si queremos utilizar un fichero personalizado, también podemos añadir nuestro fichero de idioma:
Idiomas
Media File Options: (Opciones de ficheros)
Aquí debemos rellenar los datos para controlar dónde guardaremos nuestro fichero final del instalador .exe, y otros parámetros como su nombre y nivel de compresión:
Directorio de salida, formato de nombre y compresión
Code Signing: (Código de firmado)
En este paso, podemos configurar el firmado del paquete instalador para Windows y MacOS para que se pueda verificar su autenticidad. En este tutorial no nos interesa configurar este paso, por tanto, lo dejaremos vacío:
Firmado del paquete instalador
Compiler Variables: (Variables del compilador)
En este paso se pueden añadir variables personalizas para el compilador. Requiere tener conocimiento avanzado de las opciones y por tanto, dejaremos este paso también vacío. No es necesario para nuestro propósito:
Variables personalizadas para el compilador
Install4j facilita la creación de instaladores para aplicaciones Java
Merged Projects: (Proyectos fusionados)
En este paso podemos seleccionar otro proyecto que será fusionado con el proyecto actual. Como solamente tenemos un único proyecto, este paso lo dejaremos vacío y continuaremos al siguiente apartado:
Proyectos fusionados
Project Options: (Opciones del proyecto)
En este paso podemos configurar algunas opciones del proyecto no relacionadas directamente con el instalador a crear. No nos interesa activar ninguna de ellas, por tanto, las dejaremos por defecto:
Opciones del proyecto
FILES: (Ficheros)
Dentro de este apartado, podremos configurar todo lo relacionado a los ficheros de nuestra aplicación Java. Hay 4 apartados que explicaré a continuación.
Define Distribution Tree: (Árbol de distribución)
Aquí seleccionaremos el directorio donde está el fichero jar generado (para este ejemplo), con Neatbeans 8.2. El fichero JAR es el programa Java compilado desde Netbeans:
Directorio del programa Java
View Results: (Ver resultados)
En esta pantalla podremos comprobar si el árbol de distribución configurado en el paso anterior es correcto o no. Esta pantalla es de solo-lectura, por tanto, no podremos configurar nada:
Ver resultados del árbol de distribución
File Options: (Opciones de ficheros)
En este paso podremos definir diferentes opciones para todos los ficheros incluidos en el "Árbol de distribución". Podemos configurar los permisos de los ficheros, permisos de los directorios, sobreescribir ficheros etc... Dejaremos las opciones por defecto:
Opciones de ficheros
Installation Components: (Componentes de la instalación)
Este parámetro lo dejaremos también en blanco para nuestro ejemplo. En este paso podremos definir diferentes componentes que podrán ser seleccionados durante el proceso de instalación:
Componentes de la instalación
LAUNCHERS: (Lanzadores)
En este apartado es donde seleccionaremos la configuración de nuestro ejecutable instalador y algunas características antes de comenzar el proceso real de instalación.
Para crear un nuevo Launcher, solamente debemos hacer doble click en New Launcher:
Lanzadores de la instalación
Seleccionaremos el tipo de instalador, generalmente la opción a seleccionar es "Generated launcher":
Tipo de lanzador
El instalador será de tipo gráfico, por tanto seleccionaremos GUI Application y pondremos un nombre a nuestro ejecutable, en este ejemplo Demo:
Tipo de ejecutable de instalación
Otra opción interesante dentro de Menu integration es integrar el acceso a nuestro programa desde el menú de Windows. Seleccionaremos "Integrate into menus with standard name":
Añadir al menú de Windows
En el apartado 3, Icon, podremos configurar un icono para nuestra aplicación. Podemos bajar un *.ico de internet, hay millones de ellos libres y gratuitos para descargar:
Añadir icono
El apartado 4 es muy importante, ya que es donde debemos decirle cual es nuestro programa compilado, y cual es la clase Main para arrancarlo. Debemos primeramente añadir nuestro JAR, y luego la clase mas abajo. Si no sabéis el nombre, pinchad en los "3 puntos" y os saldrán las clases que existen en el fichero Jar:
Configurar la clase Main
Si queremos que se muestre una pantalla de bienvenida justo antes de comenzar la instalación, podremos configurarla desde el siguiente paso añadiendo la ruta a un fichero tipo JPG, PNG, etc ...
Pantalla de bienvenida
Una vez completados todos nuestros pasos, aparecerá nuestro Launcher creado correctamente:
Launcher creado correctamente
INSTALLER: (Instalador)
En este apartado, se configurará el aspecto del proceso de instalación y desinstalación.
Screens & Actions: (Pantallas y acciones)
En este apartado se configuran las diferentes pantallas y opciones durante todo el proceso tanto deinstalación como de desinstalación. Por defecto viene pre-configuradas unas series de pantallas típicas:
Pantallas y acciones
Styles: (Estilos)
En los estilos seleccionaremos el aspecto de la pantalla de instalación:
Estilos
Podremos ver un ejemplo de la pantalla de instalación. Existen varios templates disponibles, seleccionaremos el que mas nos guste:
Ejemplo del estilo
Custom Code & Resources: (Código personalizado y recursos)
Este apartado lo dejaremos sin configurar:
Código personalizado y recursos
Update Options: (Opciones de actualización)
Si lo necesitamos, podemos configurar el proceso de actualización:
Opciones de actualización
Auto-Update Options: (Opciones de auto-actualización)
Si lo necesitamos, podemos configurar también el proceso de auto-actualización del programa a través de un fichero xml:
Opciones de auto-actualización
MEDIA:
En este paso, podremos configurar los diferentes tipos de ficheros para distribuir en función de la plataforma.
Fichero instalador
Crearemos un instalador de tipo "Windows"
Tipo de fichero
También se puede seleccionar la arquitectura, 32 / 64 bits. Debemos en cuenta que una aplicación de 64bits no correrá en un sistema operativo de 32bits.
Tipo de arquitectura
Una de las mejores opciones de install4j es poder distribuir una versión de JRE con la aplicación, por tanto, no es necesario que el cliente tenga instalado JRE. Haremos click en "Download JRE":
Descargar JRE
Seleccionamos la versión que queremos incluir en el paquete de instalación:
Versión de JRE a descargar
Posiblemente sea necesario reiniciar install4j (ojo, guardad primero el proyecto para no perderlo). Una vez reiniciado, seleccionaremos el paquete que hemos descargado:
Selección del JRE
Una vez finalizado el proceso, tendremos nuestro nuevo Media creado:
Media creado
BUILD:
El build, es le proceso de construir/generar el fichero ejecutable. Simplemente haremos click en "Start Build", y si todo va bien se generará nuestro instalador para Windows con nuestra aplicación Java y el JRE integrado:
Construir instalador
Instalador generado correctamente:
Instalador generado correctamente
5.- EJECUTAR EL INSTALADOR
La instalación es tan sencilla como hacer doble click en el icono de nuestro programa:
Icono del instalador
El asistente de instalación comienza como cualquier instalación de Windows:
Asistente de instalación
La siguiente pantalla será la de Bienvenida al asistente de instalación:
Bienvenida al asistente de instalación
Seleccionaremos el directorio de instalación de nuestro programa. Lo dejaremos por defecto y lo instalaremos haciendo click en Siguiente:
Directorio de instalación
Una barra de progreso mostrará el avance de la instalación del programa:
Instalando aplicación Java
Una vez completado el proceso, se mostrará un mensaje de instalación satisfactoria:
Instalación satisfactoria
Si somos algo curiosos, veremos que el programa ha creado un icono en el menú de Windows:
Icono en Programas Windows
Ahora solo queda probar a ejecutar el programa instalado:
Probando la aplicación Java
6.- EJECUTAR LA DESINSTALACIÓN
Ahora probaremos de desinstalar el programa desde "Agregar o quitar programas" de Windows:
Programas instalados
Haremos click en desinstalar y el programa se desinstalará de nuestro equipo.
Desinstalar programa
Desinstalación satisfactoria.
Desinstalación satisfactoria
7.- CONCLUSIONES
Install4j tiene muchísimas opciones y es casi imposible explicarlas todas. Dejo de vuestra mano explorar el resto de opciones y espero haber ayudado con la creación de un instalador típico para una aplicación de Windows.
ENJOY!