Visionaris
Preparar el Instalador para Windows
Compilación para protección del código fuente
Genera un ejecutable que contiene todo el código de la UI (backend y frontend)
Las librería que están en código binario no las coloca dentro del paquete
Genera un ejecutable para la plataforma de destino (windows - linux - mac)
La generación del ejecutable debe realizarse en la plataforma de destino. Por ejemplo el ejecutable para Windows debe compilarse en un sistema Windows. Esto es debido a que al momento de descargar las dependencias, estas se descargan según la plataforma.
Comando de compilación:
pkg ./dist/index.js --targets node12-win-x64 --config ./dist/package.json --options max_old_space_size=2048 --output vis7
Es necesario copiar el package.json a la carpeta dist/ antes de ejecutar el comando
La carpeta de destino debe quedar asi:
archivo: vis7.exe
archivo: zmq.node (copiado de la carpeta node_modules)
archivo: bcrypt_lob.node (copiado de la carpeta node_modules)
carpeta: puppeteer (esta carpeta tiene la siguiente estructura proveniente de node_modules => puppeteer\win64-809590\chrome-win)
Carga del ejecutable como servicio del sistema operativo
En la carpeta visionarisui colocar los siguientes elementos:
Carpeta: bin/ (contiene los archivos de la compilación de código fuente “paso anterior”)
Carpeta node_modules (contiene los archivos de la librería node-windows)
Archivo: installService.js Es un script de node.js que carga la aplicación UI compilada como servicio de windows. Se ejecuta así: .\node_modules\node\node installService.js
Este archivo contiene las variables de entorno que necesita la aplicaciónArchivo: removeService.js Es un script de node.js que remueve el servicio de windows. Se ejecuta asi: .\node_modules\node\node removeService.js
Cuando se instala el servicio, se genera la carpeta daemon que contiene los archivos que configuran el servicio de Windows
Cuando se remueve el servicio, la carpeta daemon se elimina automáticamente
Si es necesario modificar alguna de las variables de entorno, debe hacerse en el archivo installService.js y luego remover y volver a instalar el servicio.
Nuevo cargador del ejecutable como servicio
Se utiliza nssm.exe
Nuevos script para instalar y remover el servicio “installService2.bat” y “removeService2.bat”
Instalador para Windows
La generación del instalador se realiza mediante el software NSIS (en este caso utilizamos la versión 3.06.1) https://nsis.sourceforge.io/Main_Page
Complemento para modificación de los archivos de configuración de la aplicación https://nsis.sourceforge.io/TextReplace_plugin#Description
En una carpeta se deben colocar los siguientes componentes:
dataspa (carpeta con la aplicación)
engine (carpeta con la aplicación)
hadoop (carpeta con la aplicación Hadoop)
mongodb (carpeta con los archivos de MongoDB, en teste caso utilizamos la versión 4.4.2 que era la actual para windows x64)
visionarisui (carpeta con la aplicación, la que se compiló en los pasos anteriores)
jre-8u271-windows-x64 (instalador de JRE, esto posiblemente se cambie)
licencia.txt (archivo con el texto de la licencia)
visinst.ico (archivo con el icono de la aplicación)
installer.nsi (archivo con el script que configura el instalador)
dotnetfx35.exe (instalador de .net FrameWork 3.5) Necesario para cargar como servicios los motores
vcrerdist_x64.exe (instalador de C++ 2010 redistribuible) Necesario para que corre Hadoop
La compilación del instalador se realiza abriendo la aplicación NSIS, opción “Compile NSI script” y abriendo el archivo installer.nsi
El contenido del archivo installer.nsi es el siguiente:
La instalación de la aplicación realiza los siguientes pasos:
Pide confirmar la licencia
Solicita la ruta de instalación
Copia las carpetas / archivos siguientes:
dataspa (carpeta de la aplicación)
engine (carpeta de la aplicación)
visionarisui (carpeta de la aplicación)
mondogdb (carpeta de la aplicación y repositorio de las bases de datos)
logs (carpeta para los registros)
resources (carpeta para los recursos)
hadoop (carpeta con la aplicación hadoop)
uninstall.exe (aplicación para desinstalación)
Se realizan los siguientes procesos:
Se instalan como servicios de windows y se ponen en marcha lo siguiente:
dataspa
engine
visionarisui
mongodb (se crea una instancia exclusiva para la aplicación, habilitándose en el puerto tcp 10017. Cuando visionarisui se pone en marcha, crea una base llamada VisionarisV7)
Se crea la variable de entorno HADOOP_HOME (esto posiblemente se cambie)
Cuando finaliza la instalación, se habre en forma automática el navegador web apuntando a http://localhost, que es en donde está publicada por default la aplicación)
@ Visionaris - Todos los Derechos Reservados