Inno Setup (Parte 1): Introdução & Inno Script Studio

Categoria: Tutoriais
Categoria Pai: Addicted 2 Delphi!
Acessos: 16730
Página anterior do tutorial atual Primeira página do tutoria altual Próxima página do tutorial atual
Imagem meramente ilustrativa

Prólogo

Eu fiquei na dúvida a respeito de categorizar este tutorial como sendo um tutorial de Delphi, porque na verdade eu não vou falar sobre Delphi diretamente, no entanto o que me fez decidir por incluir este tutorial na seção Addicted 2 Delphi! foi o fato de que o Inno Setup utiliza Pascal Script e mais pra frente neste tutorial eu irei desenvolver uma DLL no Delphi para ser utilizada dentro do Inno Setup via Pascal Script. Além disso eu vou abordar a criação de uma página adicional, onde o usuário deverá informar alguns dados a respeito de um banco de dados PostgreSQL que será instalado e configurado automaticamente. Talvez eu também inclua uma tela de status, que mostre as etapas da inicialização e configuração do PostgreSQL.

Este tutorial não pode ser considerado nem básico, nem intermediário, muito menos avançado. Não há como classificá-lo de forma precisa. Não pretendo explicar cada uma das opções do Inno Setup e nem me aprofundar muito no Pascal Script, mas pretendo falar a respeito da criação de telas personalizadas. Em outras palavras:

Considere este tutorial como sendo o desenvolvimento de um exemplo dirigido que contém o caminho mínimo para a criação de um instalador que possui uma tela personalizada, na qual o usuário poderá personalizar a instalação e configuração do PostgreSQL, o qual é requerido pelo programa de exemplo a ser instalado

 


Introdução

No início dos tempos só havia o Install Shield e o Delphi vinha com uma versão gratuita (e bem limitada), conhecida como Install Shield Express, que permitia criar instalações simples. Nesta época eu comecei a procurar uma alternativa e aquela que eu achei, e até hoje é a melhor solução gratuita para criação de instaladores no ambiente Windows, foi o Inno Setup. Existem outras boas alternativas gratuitas, como o NSIS (Nullsoft Scriptable Install System), mas o Inno Setup é de longe a ferramenta mais utilizada e a mais simples de usar, principalmente quando se utilizam as ferramentas de terceiros, desenvolvidas exclusivamente para ele. Dentre as ferramentas de terceiros que vão nos auxiliar estão o Inno Script Studio, sobre o qual falarei ainda nesta parte do tutorial e o Inno Setup Form Designer, o qual vou abordar posteriormente neste tutorial. Cada coisa a seu tempo.

Inno Setup

Muita gente antes de começar a usar um gerador de instaladores acredita que a instalação de um programa é algo quase sobrenatural e extremamente complexo, mas na verdade a grande maioria das instalações só faz três coisas:

O Inno Setup é um compilador que transforma seus arquivos de projeto (.iss) em um executável que é capaz de realizar as 3 ações básicas mencionadas e permite a realização de uma grande quantidade de outras ações por meio de execução de um Pascal Script.

Neste tutorial, além destas 3 ações básicas, nós vamos executar programas externos para configurar o PostgreSQL, o qual será igualmente instalado pelo nosso instalador utilizando estas 3 ações básicas. Aplicações mais complexas podem até mesmo ser compiladas durante a instalação ou acessar webservices para validação de licenças, mas isso não será abordado neste tutorial.

Inno Script Studio

No Delphi, um projeto é composto por um arquivo .dpr e possivelmente algumas units (arquivos .pas) que servem para organizar o código. Em outras palavras, o Delphi é uma IDE que manipula arquivos e executa um compilador que transforma todos estes arquivos em um produto final, que normalmente é um executável (arquivo .exe). Seria totalmente possível gerar um executável Delphi editando todos estes arquivos no Bloco de Notas e executando em seguida o compilador via linha de comando.

De forma análoga, um projeto do Inno Setup é composto por um arquivo .iss apenas, o qual contém todas as opções, configurações e o Pascal Script. Em outras palavras o Inno Script Studio é uma IDE que manipula um arquivo .iss e executa o compilador do Inno Setup, que transforma este arquivo em um executável de instalação. O Inno Setup não requer qualquer IDE para funcionar, ou seja, você poderia escrever seu projeto manualmente no Bloco de Notas e executar o compilador do Inno Setup via linha de comando.

O Inno Setup já vem com um editor bem simples que meramente faz o syntax highlight do seu arquivo de projeto .iss, mas é óbvio que não estou aqui para complicar sua vida, por isso eu vou explicar como criar um projeto do Inno Setup utilizando o Inno Script Studio que é muito mais simples do que lidar com texto plano.

A imagem acima mostra o Inno Script Studio com um típico script do Inno Setup carregado. Note que do lado esquerdo existe um Tree View que contém cada uma das seções que podem existir no arquivo de projeto. Seções no arquivo de projeto são identificadas pelos nomes escritos entre colchetes ([]), o que pode fazer o leitor achar que o arquivo .iss é um arquivo .ini, mas na verdade ele não é, apenas parece.


Ainda sobre a imagem acima, a visão atual (Inno Setup Script) mostra o texto plano do projeto, o qual pode ser editado, no entanto é muito mais simples e aconselhável editar o arquivo .iss de forma dirigida, clicando nos itens do Tree View a fim de que seja exibido um visualizador/editor adequado.

Por exemplo, a imagem acima mostra o visualizador da seção Files, onde se pode incluir cada um dos arquivos que serão copiados para o sistema onde se está executando o instalador. Note que existe uma barra de ferramentas onde se pode criar um novo item e adicionar arquivos em lote. Ao adicionar um novo item nesta seção, ou editar um item existente, a tela File Properties será exibida. Veja ela abaixo:

Cada seção tem sua própria tela de edição de itens, por exemplo, a seção Icons, possui a seguinte tela de edição:

Note que as telas são semelhantes em alguns pontos, por exemplo, ambas possuem flags, mas estes flags diferem entre elas o que é absolutamente normal, já que tratam-se de artefatos distintos (Arquivos e Ícones), que tem significado e instalação diferenciada dentro do Inno Setup.

Antes de continuar...

Antes de ler a próxima parte deste tutorial será necessário obter alguns arquivos. Você vai precisar do Inno Setup e do Inno Script Studio, bem como o executável de exemplo que será o programa a ser instalado pelo instalador. O site do Inno Setup fornece o link para um instalador chamado "QuickStart Pack". Este instalador contém o Inno Setup, o Inno Script Studio e outras ferramentas de terceiros muito úteis e que devem ser instaladas, portanto, ao instalar o QuickStart Pack, escolha todas as opções disponíveis, incluindo aquelas que forem baixar conteúdo. Não se preocupe, isso é perfeitamente seguro! Ao final da instalação, seu sistema vai conter o Inno Setup e o Inno Script Studio.

Outros arquivos necessários são os arquivos do PostgreSQL, o qual será instalado como parte do aprendizado do Inno Setup e vai possibilitar que nosso exemplo crie diretórios, execute programas externos e exiba uma página personalizada na qual o usuário pode informar parâmetros para configuração do PostgreSQL.

No final deste artigo estão os links para download dos arquivos que começarão a ser usados na parte 2 deste tutorial. Vejo vocês lá!


  Arquivos anexados  
Arquivo Descrição Tamanho Modificado em
Access this URL (https://sourceforge.net/projects/addicted2delphi/files/inno.rar) inno.rar Arquivos necessários para criação do instalador e do programa de exemplo (que será instalado). Este arquivo será atualizado à medida que o tutorial for sendo feito e ao final conterá a solução completa 0.1 KB 01/02/2018 às 01:06
Access this URL (http://www.jrsoftware.org/download.php/ispack.exe) ispack.exe O Quick Start Pack é um instalador que vai instalar o Inno Setup e o Inno Script Studio, bem como outras ferramentas úteis 0 KB 18/01/2018 às 20:37
Access this URL (https://get.enterprisedb.com/postgresql/postgresql-10.1-3-windows-binaries.zip) postgresql-10.1-3.zip Como parte do aprendizado sobre o Inno Setup o PostgreSQL será instalado e configurado mediante a interação do usuário com uma página personalizada dentro do nosso instalador 187124 KB 18/01/2018 às 20:42
Página anterior do tutorial atual Primeira página do tutoria altual Próxima página do tutorial atual