Nesta série de posts vamos ver uma ferramenta livre (grátis e de fonte aberto) para preparação de instaladores. Não é uma ferramenta automática (ao invés do NNF é preciso preparar um script) mas é altamente versátil e capaz de gerar instaladores bonitos e inteligentes. Existem alguns utilitários para auxiliar na criação do script, mas o nosso foco vai ser a escrita manual. Muitos softwares livres e vários softwares comerciais usam esta ferramenta.
A ferramenta que estou falando é o NSIS - Nullsoft Scriptable Install System e foi desenvolvido pelos criadores do Winamp. A Wikipedia tem uma página a respeito, mas a principal referência é a página oficial. Para acompanhar os meus exemplos, baixe a versão mais recente (no momento a 2.40). O download é um instalador, obviamente feito com o próprio NSIS.
Em linhas gerais, o NSIS compila o script, gerando um arquivo executável que contém a lógica de instalação e todos os arquivos necessários (compactados).
Vamos encerrar esta introdução com um pequeno exemplo. Tomei como "cobaia" a calculadora do Windows, mas você pode usar qualquer outro programa que se resuma a um arquivo executável.
1) Instale o NSIS
2) Execute o seu editor de texto ou programas predileto (no meu caso o SciTE, que até reconhece scripts do NSIS), digite o script abaixo e salve com o nome Ex1.nsi.
#
# Primeiro exemplo de uso do NSIS
#
LoadLanguageFile "${NSISDIR}\Contrib\Language files\PortugueseBR.nlf"
Name "Calculadora"
OutFile "InstCalc.exe"
InstallDir "$PROGRAMFILES\Calc"
Page directory
Page instfiles
Section "-Obrigatoria"
SetOutPath $INSTDIR
File "c:\windows\system32\calc.exe"
SectionEnd
- As linhas que começam com '#' são comentarios.
- LoadLanguageFile define a lingua a ser usada nas telas (no caso português do Brasil).
- Name é o nome do instalador, OutFile o nome do arquivo a ser gerado pelo NSIS e InstallDir o diretório padrão de instalação ($PROGRAMFILES é o diretório de programas do Windows onde o instalador está executando - "Arquivos de Programas", "Program Files", etc).
- Os comandos Page indicam quais telas são usados no instalador (no caso a de escolha de diretório e de acompanhamento da instalação dos arquivos).
- Uma Section é uma parte da instalação, veremos no próximo post como usar isto para permitir ao usuário selecionar o que vai ser instalado. Por enquanto temos uma única section, o '-' no início do nome indica que ela é de instalação obrigatória.
- SetOutPath indica onde os arquivos seguintes serão gravados na instalação (no caso $INSTDIR, que é o diretório escolhido pelo usuário).
- Por último, File referência um arquivo no micro onde o script será compilado. No caso vamos pegar o CALC.EXE que está Windows\System32.
Nos próximos posts veremos passo a passo como sofisticar este nosso instalador.
3 comentários:
Muito interessante o Post, acredito que vai ajudar muito desenvolvedor que queira deixar o trabalho mais profissional...
Parabéns
Abraço
T+
Me ajudou muito esta série de posts!
Tiago,
Fico feliz que tenha ajudado, acabei não completando a série pois não estava contente com os posts. Eu estava tentando apresentar os recursos em uma ordem lógica, mas achei que estava me perdendo.
Postar um comentário