[Ferramenta] Inno Setup - Crie um instalador completo para aplicações Web (JSF + Postgres)

Nesta postagem venho discutir um assunto que passei algum tempo desenvolvendo e encontrei algumas dificuldades de encontrar na internet artigos relevantes.



No desenvolvimento de softwares sabemos das limitações do desenvolvimento desktop e da flexibilidade do desenvolvimento web. Assim, recentemente aceitei o desenvolvimento de uma aplicação. No final desta jornada gostaria de entregar o produto, no entanto não queria instalar as ferramentas separadamente, mas criar um instalador que empacotasse o serviço.

Encontrei muitas dificuldades e estou postando uma solução que minimamente me agradou.

- Características da aplicação - 
Linguagem - Java EE
Interface - JSF
Persistência - JPA - Eclipselink
Base de dados - Postgres
Servidor de aplicação - Tomcat 8.5

Ferramenta para criação do Setup - Inno Setup



1 - Em primeiro lugar você deverá fazer download das ferramentas Inno Setup, Tomcat, Postgres.

2 - Utilizando o inno script studio você poderá utilizar o wizard para iniciar a construção do seu setup.

3 - Prepare o seu Tomcat jogando o .war da sua aplicação na pasta webapps





No inno script você pode usar o seguinte modelo:


#define MyAppName "nomeDaSuaAplicação"
#define MyAppVersion "1"
#define MyAppPublisher "Nome do publicador"
#define MyAppURL "http://www.computersciencemaster.com.br/"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{093C2115-C813-4E28-AC46-1489A24A2508}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
SetupIconFile=E:\Projetos\JusHelp\Instalador\jusHelpIcon.ico
Password=dx262524
Encryption=yes
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"

[Files]
Source: "E:\Projetos\postgresql-9.6.3-3-windows-x64.exe"; DestDir:{tmp};
Source: "E:\Projetos\createDatabase.bat"; DestDir: "{tmp}"; DestName: "createDatabase.bat";
Source: "E:\Projetos\apache_tomcat_8\*"; DestDir: "{app}\tomcat"; Flags: ignoreversion recursesubdirs createallsubdirs 
Source: "E:\Projetos\start.bat"; DestDir: "{app}";


[Run]
Filename: "{tmp}\postgresql-9.6.3-3-windows-x64.exe"; Flags: runminimized; StatusMsg: Instalando PostgreSQL; Parameters:  --mode unattended --unattendedmodeui minimal --superpassword ColoqueSuaSenhaDoBancoAqui --prefix C:\postgres\postgres --datadir C:\postgres\data 
;--create_shortcuts 0 (Adicione para não criar atalhos no postgre)
Filename: "{tmp}\createDatabase.bat"; Parameters: """{pf32}"" ""{pf32}"""; StatusMsg: Atualizando o banco de dados;
Filename: "{app}\tomcat\bin\service.bat"; Parameters: "install seuApp";  StatusMsg: Instalando o serviço do Tomcat;
Filename: "{app}\start.bat"; Parameters: """{pf32}"" ""{pf32}""" ;  StatusMsg: Iniciando o serviço;

[UninstallRun]   

Filename: "{app}\tomcat\bin\service.bat"; Parameters: "uninstall seuApp"


Os arquivos .bat descritos no código acima:

createDatabase.bat

@Echo off

set PGUSER=postgres

set PGPASSWORD=suaSenha

c:

cd \

cd C:\postgres\postgres\bin

@echo "Aguarde enquanto o banco de dados é atualizado..."


psql -U postgres -c "create database nomeDaBase"


start.bat

net stop seuApp
net start seuApp

start "" "http://localhost:8080/SeuApp/" 


[Ferramenta] Inno Setup - Crie um instalador completo para aplicações Web (JSF + Postgres) [Ferramenta] Inno Setup - Crie um instalador completo para aplicações Web (JSF + Postgres) Reviewed by Vinicius dos Santos on 18:17:00 Rating: 5

Nenhum comentário

Escreve ai sua opinião!