setup programa instalador inno hacer generar empaquetar ejecutable descargar crear con como java tomcat installer web-applications

java - programa - crear un.exe en netbeans



¿Cómo crear un instalador de aplicaciones web Java(.exe) que incluya Tomcat y MySQL? " (6)

¿Cómo crear un instalador utilizando Java que combine tomcat, mysql y war file para obtener un archivo final?


Aquí está mi solución minimalista a este problema. He descargado las instalaciones de Tomcat y MySQL sin instalador, así que simplemente las descomprimí y las probé, funcionan bien. En este momento, instalará el archivo war en tomcat y el esquema relevante en mysql. Así que cuando copia las carpetas todo se copia. Y puedes probar cómo funciona. Probablemente puedas hacer algunas afinaciones en ellos, pero para mí funcionan muy bien, ya que mi aplicación no es tan exigente. Aparte de eso, he descargado versiones de programas de 32 y 64 bits para que ambos puedan instalarse. Usé la configuración de Inno para empaquetar el instalador. Básicamente, solo copia ambas carpetas eligiendo 32 o 64 arquitecturas, e instala tanto tomcat como mysql, como servicio de Windows.

[Setup] AppName=MyApp AppVersion=1.0 DefaultDirName={pf}/MyApp DefaultGroupName=MyApp Compression=lzma2 SolidCompression=yes OutputDir=output ; "ArchitecturesInstallIn64BitMode=x64" requests that the install be ; done in "64-bit mode" on x64, meaning it should use the native ; 64-bit Program Files directory and the 64-bit view of the registry. ; On all other architectures it will install in "32-bit mode". ArchitecturesInstallIn64BitMode=x64 ; Note: We don''t set ProcessorsAllowed because we want this ; installation to run on all architectures (including Itanium, ; since it''s capable of running 32-bit code too). [Files] ; Install x64 if running in 64-bit mode (x64; see above), x86.exe otherwise. Source: "mysql-5.5.13-winx64/*.*"; DestDir: "{app}/mysql"; Check: Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs Source: "mysql-5.5.13-win32/*.*"; DestDir: "{app}/mysql"; Check: not Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs ; Install x64 if running in 64-bit mode (x64; see above), x86.exe otherwise. Source: "apache-tomcat-6.0.32-x64/*.*"; DestDir: "{app}/tomcat"; Check: Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs Source: "apache-tomcat-6.0.32-x86/*.*"; DestDir: "{app}/tomcat"; Check: not Is64BitInstallMode; Flags: ignoreversion recursesubdirs createallsubdirs ; Source: "start.bat"; DestDir: "{app}"; DestName: "start.bat"; Source: "stop.bat"; DestDir: "{app}"; DestName: "stop.bat"; [Icons] Name: "{group}/Start MyApp"; Filename: "{app}/start.bat" Name: "{group}/Stop MyApp"; Filename: "{app}/stop.bat" [Run] ; install mysql and tomcat as services Filename: "{app}/mysql/bin/mysqld.exe"; Parameters: "--install MyApp_MySQL" Filename: "{app}/tomcat/bin/service.bat"; Parameters: "install" Filename: "{app}/start.bat"; Description: {cm:LaunchProgram,{cm:AppName}}; Flags: nowait postinstall skipifsilent [UninstallRun] ; uninstall mysql and tomcat as services Filename: "{app}/stop.bat"; Filename: "{app}/mysql/bin/mysqld.exe"; Parameters: "--remove MyApp_MySQL" Filename: "set"; Parameters: "CATALINA_HOME={app}/tomcat" Filename: "{app}/tomcat/bin/tomcat6.exe"; Parameters: "//DS//MyApp_Tomcat" [CustomMessages] AppName=MyApp LaunchProgram=Start MyApp after finishing installation

Para ejecutar su aplicación ahora, todo lo que necesita es iniciar / detener los servicios registrados. start.bat

NET START MyApp_MySQL NET START MyApp_Tomcat START "" "http://localhost:8080/myapp/"

detener.

NET STOP MyApp_MySQL NET STOP MyApp_Tomcat

Para mi funciona bien.

  • Quizás también pueda incluir la instalación de JRE, ya que algunas compilaciones podrían no tenerla.
  • Además, si alguien sabe cómo inspeccionar si ya están tomat tomcat y mysql ports, y cómo cambiarlos en el archivo conf, díganos.
  • Además, si puede inspeccionar la dirección IP y escribirla en lugar de localhost, sería genial.

Saludos

Emir


Las posibles opciones ya han sido ampliamente cubiertas en varias preguntas, especialmente:

... y otras preguntas etiquetadas java + instalador

Aunque es cierto que algunas opciones mencionadas en esas preguntas no pueden generar instaladores .exe autosuficientes. Si una herramienta comercial está bien para usted, personalmente puedo recomendar install4j (cuesta $); entre otras cosas, puede crear instaladores .exe ( detalles sobre mis experiencias con él ). O, para una herramienta más simple y gratuita para producir ejecutables de Windows a partir de programas Java, vea Launch4j .

Actualización de mi recomendación de install4j, basada en este comentario de OP:

Sí, el instalador exe necesita instalar Tomcat, mysql, la aplicación web y el script db de una vez. Al final, los usuarios solo necesitan iniciar el servicio tomcat y mysql. Ir al navegador puede acceder a la aplicación web.

Con install4j,

  • puede agrupar Tomcat, MySQL y su aplicación web muy bien
  • también puede iniciar los servicios automáticamente desde el instalador (o dejarlo en manos de los usuarios como sugiera)
  • Si lo desea, el instalador puede incluso iniciar el navegador directamente y apuntarlo a su aplicación web :-)

Acabo de hacer algo similar con install4j (servidor de aplicaciones de paquete, aplicación web, ejecutar scripts de base de datos y muchas otras cosas; sin embargo, sin agrupar la base de datos), estoy relativamente seguro de que se puede hacer. No sé si puedes hacer esto (fácilmente) con las herramientas gratuitas como Launch4j.


Le sugiero que use Java para esto, un installer.jar. Como le gustaría ejecutar Tomcat de todos modos, no hay necesidad de poner un archivo exe. Hemos hecho algo similar, programando un instalador jar con la ayuda de la API Ant (Ant se usa mediante programación).


Podrías usar cualquier instalador, de verdad. Personalmente, he usado InnoSetup , que es bastante simple, pero aún puedo realizar casi cualquier tarea en el momento de la instalación.

En su caso, probablemente desee colocar los archivos de Tomcat en algún lugar, incluida la aplicación web. Personalice algunos archivos de configuración y ejecute el instalador de MySQL en modo silencioso. Todo lo cual es perfectamente posible con InnoSetup.

Si necesita más flexibilidad, puede ver NSIS , otra aplicación de instalación muy simple pero muy poderosa.


Puede usar BitRock InstallBuilder para ello (cuesta $). Para ejemplos de dichos programas, compruebe los instaladores de aplicaciones de Alfresco, Liferay, etc. que incluyen Tomcat, MySQL, etc. en BitNami


Una mejor manera es usar IzPack , es mejor que otros porque solo se necesita empaquetar una vez y se puede usar en cualquier Sistema Operativo con el mismo contenedor compilado.

Personalmente lo usé para empaquetar tomcat, mysql y algunos otros requisitos previos para mi aplicación web.

Utilicé Launch4j para crear un archivo ejecutable (.exe) del archivo jar generado por IzPack.