Criando uma distribuição de aplicativos do Windows no Inno Setup. Inno Setup - criando instaladores para programas Modelos para o instalador inno setup

Para a conveniência de instalar seus programas nos computadores dos usuários, você precisará criar um kit de distribuição. Hoje quero falar sobre uma ferramenta muito poderosa e gratuita para criar distribuições para Windows - Inno Setup.

Sobre o Inno Setup

Configuração do Inno surgiu em 1997, hoje concorre com instaladores pagos e até supera muitos deles em número de funções e estabilidade. A página inicial do projeto está localizada em .

Aqui estão os principais recursos do instalador:

      • Suporte para todas as versões janelas, começando com Windows 2000, Incluindo: Windows 8, Servidor Windows 2012 , Windows 7, Windows Server 2008 R2, Windows Vista, Servidor Windows 2008, Windows XP, Servidor Windows 2003 e Windows 2000. Isso não requer nenhum service pack.
      • Amplo suporte para instalação de aplicativos de 64 bits em versões de 64 bits janelas. Suporte de arquitetura x64 e Itanium(se usado Servidor Windows 2003 no Itanium arquitetura, Service Pack 1 ou posterior é necessário para instalar o modo de 64 bits).
      • A capacidade de criar um kit de distribuição consistindo em um único arquivo EXE para fácil distribuição na Internet. O particionamento de disco também é suportado.
      • Interface do assistente de configuração padrão em grande estilo Windows 2000/XP.
      • Tipos de instalação personalizados, como Completo, compactar, Seletivo.
      • Extensas opções de desinstalação.
      • Instalação de arquivo: inclui suporte de compactação integrado esvaziar, bzip2 e 7-Zip LZMA/LZMA2. O instalador pode comparar versões de arquivos, substituir arquivos usados, usar uma contagem de arquivos comum, registrar DLL/OCX e bibliotecas de tipos e instale fontes.
      • Crie atalhos em qualquer lugar, incluindo menu Iniciar e Área de Trabalho.
      • Criando elementos registro e arquivos INI.
      • Executando outros programas antes, durante e após a instalação.
      • Criação distribuições multilíngues, incluindo idiomas escritos da esquerda para a direita.
      • Criação distribuições protegidas por senha e criptografadas.
      • Apoiar assinatura digital durante a instalação e remoção.
      • Instalação e remoção oculta.
      • Apoiar Unicode.
      • Pré-processador integrado para personalização adicional em tempo de compilação.
      • Processador de scripts integrado Pascal para executar etapas adicionais durante a instalação e desinstalação.
      • Código fonte gratuito ( Borland Delphi 2.0-5.0 e 2009 ).

Grande vantagem Configuração do Innoé que ele pode ser usado de forma absolutamente gratuita, mesmo para uso comercial. Embora você possa fazer uma doação como agradecimento ou para apoiar o instalador. Há também uma lista de todos que doaram a partir de US$ 100.

É assim que a página inicial do assistente de instalação de distribuição padrão criada com Configuração do Inno.

Sobre como criar uma distribuição no Inno Setup

Criando uma distribuição com Configuração do Inno acontece assim:

1. Primeiro você cria Script de configuração do Inno. Script de configuração do Innoé um arquivo de texto com a extensão .iss, que contém as propriedades da distribuição e um conjunto de ações executadas durante a instalação e remoção. O script pode ser criado usando um editor padrão Configuração do Inno(veja a imagem) ou usando um dos editores de terceiros, como Estúdio Inno Script ou ISTool. Neste artigo, considerarei usar apenas o editor padrão. Configuração do Inno.

2. Em seguida, você compila o script para obter uma distribuição.
3. Após a compilação, você pode testar e depurar a distribuição resultante instalando e desinstalando.

Instalar Inno Setup

Para criar distribuições com Configuração do Inno basta instalar o compilador Configuração do Inno ao seu computador. A distribuição pode ser baixada. Você pode encontrar o link de download da versão estável mais recente na seção Versão estável. Na hora de escrever última versão Configuração do Inno foi 5.5.5 , Veja a imagem. Para baixar a distribuição, clique no link " site aleatório» ao lado da versão com suporte Unicode(Arquivo isetup-5.5.5-unicode.exe) ou sem ele ( ANSI versão - arquivo issetup-5.5.5.exe). Para evitar problemas com a exibição do alfabeto cirílico, é melhor usar imediatamente Unicode-opção Configuração do Inno.

Se você for criptografar sua distribuição futura, o módulo de criptografia ISCrypt.dll você precisa baixar separadamente na seção Módulo de Criptografia, veja a imagem (abaixo você vê um link para códigos-fonte este módulo - ISCrypt.zip).

Na mesma página, na seção QuickStart Pack, você pode encontrar um link para distribuições ispack-5.5.5.exe e ispack-5.5.5-unicode.exe para instalação Configuração do Inno junto com Estúdio Inno Script, Veja a imagem. Estúdio Inno Scripté um desenvolvimento de terceiros Soluções Kymoto) que oferece uma interface de usuário agradável e permite depurar seu instalador em tempo de execução. Além disso, esta distribuição oferecerá o download e a instalação do módulo de criptografia ISCrypt.dll automaticamente.

Além de todos os itens acima, na página de download há uma seção Beta Release, para baixar versões beta Inno Setú p e , para baixar os códigos-fonte, nos quais não vou focar.

Se você for usar editores de script mais avançados Configuração do Inno, você também pode estar interessado na página de arquivos de terceiros do Inno Setup para obter uma lista de desenvolvimentos de terceiros. Aqui estão alguns desenvolvimentos de terceiros que podemos usar em conjunto com Configuração do Inno:

      • Inno Script Studio - interface de usuário e depurador. Instalado com distribuição Pacote de início rápido(veja acima) ou uma distribuição separada, que você pode baixar no site do desenvolvedor. Há russificação.

      • Visual & Installer - plugin pago para estúdio visual(suportado Visual Studio 2005, 2008 , 2010 , 2012 e 2013 ) para criar distribuições com Configuração do Inno. Também Visual e Instalador contém mestre Assistente de instalação gráfica, que permite criar distribuições temáticas (veja exemplos).

    • Inno Download Plugin - biblioteca e script Configuração do Inno, que permitem baixar arquivos durante a instalação de sua distribuição. Há suporte para o idioma russo. Protocolos compatíveis FTP, http e HTTPS.

      • InnoTools Downloader é outra opção semelhante a Plugin de download do Inno, também para baixar arquivos durante a instalação. Mas não há localização aqui, e apenas FTP e http.
      • Estilos VCL para Inno Setup / ISSkin / Graphical Installer (a última ferramenta é paga) - ferramentas para alterar o design do assistente de instalação da sua distribuição.

      • InnoScript - cria automaticamente um arquivo de script Configuração do Inno (.iss) por arquivo de projeto Visual básico (.vbp ou .vbproj). Há russificação.

      • - cria um kit de distribuição para o projeto Visual básico do ambiente de desenvolvimento Visual Basic 6.0.

      • - permite por arquivo Delfos projeto ( .dpr) ou por arquivo de projeto de biblioteca Delfos (.dpk) crie uma lista de dependências necessárias para criar uma distribuição. com o projeto Delphi XE3 Esta ferramenta não funcionou para mim.
      • Inno Setup Script #Includes é uma biblioteca de funções que você pode usar durante a instalação. A lista de funções pode ser visualizada.
      • Inno Setup Easy Translator - editor de arquivos de idioma Configuração do Inno (.isl). Este site está fora do ar desde 2013, mas não se preocupe, você pode criar e editar facilmente arquivos de idioma com qualquer editor de texto.
      • UninsHs é uma extensão que permite adicionar suporte para " Reparar/Modificar/Remover» para seus aplicativos.

Também nesta lista, por algum motivo, ainda existem alguns desenvolvimentos bem conhecidos ( lista atualizada em 13/04/2015):

      • - interface de usuário para trabalhar com o script Configuração do Inno. Este programa é muito semelhante ao Estúdio Inno Script. Se você pesquisar, pode encontrar russificação, veja a foto.

      • InnoIDE- outra interface de usuário para trabalhar com o script Configuração do Inno. Local na rede Internet InnoIDE deixou de existir por volta de agosto de 2012 (www.innoide.org), então não faz sentido usar esse desenvolvimento. Mas foi preservado o arquivo do site, que pode ser visualizado. Você também pode baixar o kit de distribuição lá. Russificação para InnoIDE podem ser encontrados na Internet.

      • InnoSetup Script Joiner - um utilitário que combina vários scripts Configuração do Inno dentro de um.
      • (Inno Setup Unpacker) - descompactador de distribuições criadas com Configuração do Inno. Aplicação de console.
      • O InnoExtractor é outro descompactador, mas com uma interface de usuário. Há russificação. Funcionou muito bem com minha distribuição de teste criptografada (veja a imagem). Como você pode ver, ele obtém absolutamente todos os arquivos, incluindo os arquivos usados ​​pelo instalador e até o arquivo de script do Inno Setup.

Na verdade, depois de decidir sobre a funcionalidade necessária, você pode iniciar a instalação. Aqui vou considerar apenas a instalação Configuração do Inno + Estúdio Inno Script usando o pacote Pacote de início rápido(Arquivo ispack-5.5.5-unicode.exe). Embora não faça sentido pintar todas as etapas em detalhes, vou me concentrar apenas em algumas. Marca de verificação " Baixe e instale o Inno Script Studio' deve ser se você quiser instalar Estúdio Inno Script, marque " Instale o pré-processador de configuração Inno" - para instalar o pré-processador, marque " Baixe e instale o suporte de criptografia" - para instalar o módulo ISCrypt.dll para criptografar a distribuição.

Primeira execução do Inno Setup Compiler

A única janela do programa Configuração do Innoé a janela do compilador. O compilador é iniciado a partir do menu Iniciar. Na primeira vez que você executá-lo, você verá um prompt solicitando que você crie um script vazio, inicie um assistente de script ou abra exemplos ou arquivos recentes.

Se você não tem experiência com Configuração do Inno, então os exemplos serão úteis. Vamos abrir algum exemplo, pressione o botão "OK" e selecione um dos exemplos. Depois que o exemplo for aberto, você poderá avaliar a aparência de um script simples. Configuração do Inno. Observe também que a interface do compilador é muito simples e você precisará escrever todo o script manualmente. Você só encontrará ajuda e exemplos aqui.

Usando o assistente para criar um script de configuração do Inno

Criar um novo script Configuração do Inno você pode começar do zero ou pode usar o assistente de script. Por exemplo, vou fazer um kit de distribuição para instalação do programa MyProg.exe, que está localizado na pasta de exemplos (instalada com Configuração do Inno). Quando iniciado, o programa exibe duas janelas e termina.

Para chamar a janela do assistente de criação de script, clique no item de menu " Arquivo -> Novo” ou na janela de boas-vindas, selecione a opção “ Crie um novo arquivo de script usando o Assistente de script" e pressione " OK". A primeira tela do assistente será uma tela de boas-vindas. Aperte aqui " Próximo >».

Na segunda tela, digite o nome do aplicativo ( Nome da Aplicação), versão do aplicativo ( Versão do aplicativo), editor do aplicativo ( Editor do aplicativo) e o endereço do site do aplicativo ( Site do aplicativo). Os campos obrigatórios são marcados em negrito no assistente e o restante pode ser deixado em branco.

Na próxima etapa, você seleciona uma pasta para seu aplicativo. Por padrão, como você pode ver na imagem, esta é uma pasta com o mesmo nome do nome do aplicativo e será criada dentro da pasta Arquivos de Programas. Marca de verificação " Permitir que o usuário altere a pasta do aplicativo' permitirá que o usuário altere a pasta durante o processo de instalação. E ao definir a caixa de seleção " O Aplicativo não precisa de uma pasta» a pasta do aplicativo não será criada.

Se na lista suspensa " Pasta base de destino do aplicativo" você escolhe " (Personalizado)”, então no campo localizado logo abaixo, você pode definir um caminho arbitrário. Por exemplo, para que a pasta do seu aplicativo esteja na unidade do sistema, você precisa especificar " (SD)».

Como você pode ver, para especificar a unidade do sistema, especifiquei " (SD)" ao invés de " C:", porque em computadores diferentes unidade do sistema pode ser diferente. Geralmente em Configuração do Inno você usará constantes como " (SD)". Todas as constantes estão rodeadas chaves E há um monte deles. Aqui está uma lista completa de constantes com uma breve descrição (para uma descrição completa, veja o " Constantes» na ajuda):

Constantes do diretório:

      • (aplicativo)– diretório de aplicativos, por exemplo, "C:\Porgram Files\My Program".
      • (ganhar)– Diretório do Windows, por exemplo, "C:\WINDOWS".
      • (sistema)– Diretório System32, por exemplo, "C:\WINDOWS\SYSTEM".
      • (src)– diretório onde os arquivos de distribuição estão localizados (esta é uma pasta temporária com arquivos de distribuição descompactados).
      • (SD)– unidade do sistema, por exemplo, "C:".
      • (pf)– diretório de aplicativos, por exemplo, “C:\Program Files (x86)” (no modo de 64 bits, esta será uma pasta para aplicativos de 64 bits). No modo de 32 bits, esta constante é equivalente à constante (pf32), e em 64 bits - (pf64).
      • (cf.)– pasta de arquivos comuns, por exemplo, "C:\Program Files (x86)\Common Files". No modo de 32 bits, esta constante é equivalente à constante (cf32), e em 64 bits - (cf. 64).
      • (tmp)– pasta temporária usada durante a instalação ou desinstalação (o nome da pasta estará no formato “C:\WINDOWS\TEMP\IS-xxxxx.tmp”).
      • (fontes)- pasta de fontes.
      • (dotnet11)é a pasta raiz do .NET Framework 1.0.
      • (pontonet20)– Pasta raiz do .NET Framework 2.0. No modo de 32 bits, esta constante é equivalente à constante (pontonet2032), e em 64 bits - (pontonet2064).
      • (dotnet40)– Pasta raiz do .NET Framework 4.0. No modo de 32 bits, esta constante é equivalente à constante (pontonet4032), e em 64 bits - (pontonet4064).

Constantes da pasta de ambiente:

      • (grupo)- Caminho para a pasta do menu Iniciar acessível a todos os usuários.
      • (localappdata)– caminho para a pasta de dados do aplicativo local (sem roaming).
      • (enviar para)– caminho para a pasta do usuário Enviar para.
      • (userappdata) e (commonappdata)– caminho para a pasta Application Data.
      • (usercf)– caminho para a pasta do usuário Arquivos Comuns (funciona apenas para Windows 7 e versões posteriores, para versões mais antigas do Windows esta constante será igual a (localappdata)\Programs\Common).
      • (área de trabalho do usuário) e (commondesktop)* - caminho para a pasta da área de trabalho.
      • (docs do usuário) e (commondocs)- o caminho para a pasta "Meus Documentos" (Meus Documentos).
      • (favoritos do usuário) e (favoritos comuns)* - caminho para a pasta Favoritos.
      • (userpf)– caminho para a pasta Arquivos de Programas do usuário (funciona apenas para Windows 7 e versões posteriores, para versões mais antigas do Windows esta constante será igual a (localappdata)\Programs).
      • (programas do usuário) e (programas comuns)* - o caminho para a pasta "Todos os Programas" (Programas) no menu "Iniciar".
      • (menu iniciar do usuário) e (menu iniciar comum)* - caminho para o nível superior do menu iniciar.
      • (inicialização do usuário) e (inicialização comum)* - o caminho para a pasta "Startup" (Startup) no menu "Iniciar".
      • (modelos de usuário) e (modelos comuns)* - caminho para a pasta "Modelos".

* = constantes "comuns" são equiparadas a constantes "usuário" se o usuário não tiver privilégios administrativos ou a instrução PrivilegesRequired estiver definida como mais baixa.

Outras constantes:

      • {\} – é usado quando uma barra é necessária no final do caminho, por exemplo, (app)(\). Caso contrário, o Inno Setup removerá a última barra.
      • (%NAME|DefaultValue)é o valor da variável de ambiente, onde NAME é o nome da variável, DefaultValue é a string a ser usada se a variável não existir. ValorPadrão - opcional. Exemplos: (%COMSPEC) ou (%PROMPT|$P$G). Se a string usa os caracteres ","", "|", ")" ou "%", então em vez deles você precisa escrever "% 2c", "% 7c", "% 7d" e "% 25", respectivamente.
      • (cmd)– caminho completo para o console, por exemplo, Windows\System32\cmd.exe (a variável de ambiente COMSPEC não é usada para expandir essa constante).
      • (nome do computador)– nome do computador no qual a instalação ou desinstalação está sendo executada (o valor retornado pela função GetComputerName).
      • (drive: Caminho)- Obtém uma letra de unidade com dois pontos de um caminho arbitrário. Se um caminho UNC for especificado, retornará o servidor e a pasta, por exemplo, \\SERVER\SHARE. Aqui também, para escrever os caracteres ","", "|", ")" ou "%", você precisa escrever "%2c", "%7c", "%7d" e "%25", respectivamente. Os exemplos são: (drive:(src)), (drive:c:\path\file) ou (drive:\\server\share\path\file).
      • (nome do grupo)- o nome da pasta no menu Iniciar para seus itens de menu, que o usuário selecionou durante a instalação. Ao contrário de uma constante, (grupo) retorna apenas o nome, não o caminho completo.
      • (hwnd)– identificador da janela de fundo do instalador.
      • (wizardhwnd)– identificador da janela do instalador ou 0 se o identificador não estiver disponível.
      • (ini:Filename,Section,Key|DefaultValue)– valor do arquivo INI, onde Filename é o nome do arquivo INI, Section é o nome da seção no arquivo INI, Key é o nome da chave no arquivo INI, DefaultValue é a string a ser usada se o especificado chave não foi encontrada. Aqui também, para escrever os caracteres ","", "|", ")" ou "%", você precisa escrever "%2c", "%7c", "%7d" e "%25", respectivamente. Exemplo: (ini:(win)\MyProg.ini,Settings,Path|(pf)\My Program).
      • (Língua)– nome interno do idioma selecionado.
      • (cm:Nome da Mensagem) e (cm:MessageName,Argumentos)– mensagem no idioma atual, onde MessageName é o nome da mensagem, Argumentos são os argumentos da mensagem separados por vírgulas. Aqui também, para escrever os caracteres ","", "|", ")" ou "%", você precisa escrever "%2c", "%7c", "%7d" e "%25", respectivamente. Exemplo: (cm:LaunchProgram,Inno Setup).
      • (reg:HKxx\SubkeyName,ValueName|DefaultValue)é uma string do registro, onde HKxx é a chave raiz do registro, SubkeyName é o caminho para a chave desejada, ValueName é o nome do valor (ou vazio se você quiser ler o valor padrão da chave), DefaultValue é a string a ser usada se o valor especificado não estiver presente ou o valor não for uma string (REG_SZ ou REG_EXPAND_SZ). Aqui também, para escrever os caracteres ","", "|", ")" ou "%", você precisa escrever "%2c", "%7c", "%7d" e "%25", respectivamente. Exemplo: (reg:HKLM\Software\Meu Programa,Caminho|(pf)\Meu Programa).
      • (param:ParamName|DefaultValue)é um parâmetro passado para o instalador na linha de comando, onde ParamName é o nome do parâmetro, DefaultValue é a string a ser usada se o parâmetro especificado não for encontrado. Aqui, para escrever os caracteres ","", "|", ")" ou "%", você precisa escrever "% 2c", "% 7c", "% 7d" e "% 25", respectivamente. Exemplo: (param:Caminho|(pf)\Meu Programa).
      • (srcexe)– caminho completo para o instalador, por exemplo, C:\SETUP.EXE.
      • (desinstalar.exe)– caminho completo para o desinstalador criado pelo instalador, por exemplo, C:\Arquivos de Programas\Meu Programa\unins000.exe. Esta constante é normalmente usada para criar um atalho para desinstalar um programa na seção de script Inoo Setup. A constante é válida apenas se a instrução Uninstallable estiver definida como sim.
      • (sysuserinfoname), (sysuserinfoorg)- o nome e a organização, respectivamente, na qual o Windows está registrado. Essas informações são lidas no registro.
      • (nome do usuário), (userinfoorg), (userinfoserial)– o nome, organização e número de série, respectivamente, especificados pelo usuário na página Informações do usuário no assistente do instalador (que pode ser ativado usando a instrução UserInfoPage). Normalmente, essas informações são usadas para gravar no registro ou INI para uso posterior.
      • (nome de usuário)– nome do usuário que iniciou o instalador ou desinstalador (usando a função GetUserName).
      • (registro)é o nome do arquivo de log ou uma string vazia se o log não estiver ativado.

A próxima etapa no Inno Setup Script Wizard permite que você adicione seus arquivos de aplicativo.

O campo principal é selecionado no campo superior. arquivo executável. Se você marcar a caixa " Permitir que o usuário inicie o aplicativo após a conclusão da instalação”, então o usuário será solicitado a executar o aplicativo após a instalação. Se sua distribuição não tiver um arquivo executável, você pode verificar o " O aplicativo não possui um arquivo executável principal". Abaixo está uma lista de arquivos para sua distribuição. Aqui você pode adicionar arquivos individuais (botão " Adicionar arquivos)…”) ou pastas inteiras (“ Adicionar pasta..."). Ao adicionar uma pasta, você verá uma pergunta adicional se deseja incluir subpastas ou não.

Após adicionar pastas e arquivos à lista, você poderá editar cada item (botão " Editar...”) ou exclua-o (botão “ Remover"). Na janela de edição, você pode alterar muitos parâmetros: se você precisa incluir subpastas recursivamente (daw " Subpastas recursivas”), se é necessário incluir pastas vazias (daw “ Incluir subpastas vazias”), pasta de destino base (campos “ Pasta base de destino"") e uma pasta dentro da pasta de destino base (" Subpasta de destino»).

Por exemplo, adicionaremos apenas o arquivo de ajuda.

O próximo passo do assistente é a seleção dos ícones a serem criados. No campo " Nome da pasta do menu Iniciar do aplicativo» é definido como o nome do grupo no menu Iniciar. Se você marcar a caixa " Permitir que o usuário altere o nome da pasta do Menu Iniciar", então o usuário poderá alterar o nome da pasta durante a instalação, e se você marcar o " Permitir que o usuário desative a criação da pasta do Menu Iniciar”, então o usuário poderá desabilitar completamente a criação desta pasta no menu Iniciar. Verifica a caixa " Crie um atalho da Internet na pasta do Menu Iniciar" e " Crie um ícone de desinstalação na pasta do menu Iniciar» para que o instalador crie atalhos dentro do grupo, respectivamente, para abrir seu site e remover seu aplicativo. Marcas de seleção " Permitir que o usuário crie um ícone na área de trabalho" e " Permitir que o usuário crie um ícone Quick Launch' permitirá que o usuário crie atalhos na área de trabalho e no grupo Quick Launch. Vou marcar todas as caixas.

O próximo passo é definir os arquivos de licença ( arquivo de licença) e arquivos com informações que serão mostradas antes e depois da instalação. Se você especificou um arquivo de licença, durante a instalação, o usuário terá que concordar com a licença. Arquivos compatíveis .TXT e .rtf. vou listar os arquivos licença.txt e leiame.txt da pasta de exemplos.

Na próxima etapa, selecione os idiomas suportados. Vou deixar o inglês e adicionar o russo.

O próximo passo é definir os parâmetros para o compilador Configuração do Inno. No campo " pasta de saída do compilador personalizado» especifica o caminho para a pasta onde o compilador Configuração do Inno salvará a distribuição criada. Se este campo estiver vazio, a distribuição será criada na mesma pasta do arquivo .iss. No campo " Nome do arquivo base de saída do compilador» especifica o nome base para o arquivo ou arquivos de distribuição. Por exemplo, se você tiver o nome " configurar”, então ao criar um kit de distribuição composto por um único arquivo, você receberá um arquivo setup.exe. No campo " Arquivo de ícone de configuração personalizada» você pode especificar o nome do arquivo de ícone para a distribuição futura. Se nada for especificado aqui, o ícone padrão será usado. No último campo senha de configuração» você pode especificar uma senha que o usuário deve fornecer durante a instalação. Se a caixa de seleção " Use a senha para criptografar os arquivos do aplicativo”, então os arquivos na distribuição serão criptografados usando a senha especificada. Por exemplo, vou preencher todos os campos do meu jeito.

A próxima etapa notifica que um pré-processador foi encontrado. Configuração do Inno e sugere usar as diretivas #definir para simplificar seu script. Se você quiser usar a diretiva #definir, deixe uma marca de verificação Sim, use #define diretivas de compilador". Se a caixa de seleção não estiver marcada, no futuro, você poderá adicionar diretivas #definir ao seu script manualmente.

E, finalmente, apareceu a última etapa, onde simplesmente clicamos no botão " Terminar».

Depois disso, o compilador imediatamente deseja compilar nosso script. Vamos concordar e apertar o botão " Sim».

Depois disso, o compilador nos avisará que o script não foi salvo e se oferecerá para fazê-lo.

Vamos concordar (pressione " Sim") e salve o script. Após salvar, o script foi compilado e o kit de distribuição ficou pronto, no exemplo este é o arquivo my-setup.exe, foi criado na pasta que especifiquei no assistente na etapa " configurações do compilador". Após a compilação, você pode ver como ficou no " saída do compilador» na parte inferior da janela do compilador, veja a figura.

Como você pode ver, tudo é simples. Agora vamos testar imediatamente a distribuição finalizada. Clique no item de menu " correr -> correr" para iniciar a instalação do programa.

Depois de criar um modelo de script, você pode começar a adicionar várias ações avançadas.

Depurando uma distribuição no Inno Setup

Para depurar sua distribuição, abra o script .iss e clique no item de menu correr -> correr" para iniciar a instalação do programa. Depois disso, você pode monitorar os processos internos durante a instalação no " Saída de depuração”, você pode definir pontos de interrupção nas linhas que você precisa, veja a imagem.

Para verificar o valor de uma constante durante a depuração, clique no item de menu " Executar -> Avaliar Constante…" e na caixa de diálogo levantada especifique o nome da constante (veja a imagem) e clique em " OK».

Depois disso, a seguinte janela aparecerá com o resultado retornado pela constante.

Para depurar a desinstalação, clique no item de menu " Executar -> Desinstalação de destino", e depois " correr -> correr". E para voltar à instalação, clique no item " Executar -> Configuração de destino».

Estrutura do script Inno Setup

Os scripts no Inno Setup são divididos em seções. O nome de cada seção está entre colchetes. Cada seção contém elementos específicos para essa seção. Por conveniência, você pode criar várias seções com o mesmo nome. Tais seções serão percebidas como uma. Aqui está um exemplo:

[Setup] AppName =Meu Programa [Arquivos] Fonte: "MYPROG.EXE"; DestDir : "(app)"

Você pode comentar as linhas a serem ignoradas pelo compilador acrescentando um ponto e vírgula.

Diretiva semelhante a C suportada em script #incluir, que força o compilador a puxar linhas do arquivo de texto arbitrário especificado para o local onde esta diretiva está. Aqui está a sintaxe:

#include "nome do arquivo.txt"

Com a diretiva #preproc você pode especificar qual pré-processador deve ser usado: inline, suporte apenas a diretiva #incluir, ou Pré-processador Inno Setup (ISPP), que suporta muitas diretivas e funções. O pré-processador é usado por padrão em scripts. ISPP, se estiver instalado e em arquivos .isl o pré-processador embutido é usado. Aqui está a sintaxe:

#preproc integrado #preproc ispp

Seções de script Inno Setup

Aqui está uma lista completa de todas as seções Configuração do Inno com uma breve descrição. Uma descrição completa das seções e uma lista de elementos de seção podem ser encontradas na seção de ajuda " Seções de script de configuração».

– esta seção contém configurações globais usadas durante a instalação e desinstalação. Exemplo:

[ Setup ] AppName =Meu Programa AppVersion =1.5 DefaultDirName =(pf) \Meu Programa DefaultGroupName =Meu Programa

– uma seção opcional que define as opções de instalação ( Completo/compactar/Seletivo), que será exibido na página de seleção de componentes a serem instalados. Exemplo:

[ Tipos ] Nome : "completo" ; Descrição : "Instalação completa" Nome : "compact" ; Descrição : "Instalação compacta" Nome : "custom" ; Descrição : "Instalação personalizada" ; Bandeiras: iscustom

– uma seção opcional que define os componentes que serão exibidos na página de seleção de componentes para instalação. Exemplo:

[ Componentes ] Nome : "main" ; Descrição : "Arquivos Principais" ; Tipos: personalizado compacto completo; Sinalizadores: fixo Nome: "ajuda"; Descrição : "Arquivos de Ajuda" ; Tipos : Nome completo : "help\english" ; Descrição : "Inglês" ; Tipos : Nome completo : "help\dutch" ; Descrição : "Holandês" ; Tipos: completo

– uma seção opcional para criar tarefas adicionais a serem executadas durante a instalação. O usuário verá as tarefas na forma de botões de rádio e poderá escolher se deseja realizar esta ou aquela tarefa ou não. Exemplo:

[ Tarefas ] Nome : desktopicon; Descrição : "Criar um ícone de &desktop" ; GroupDescription : "Ícones adicionais:" ; Componentes : nome principal : desktopicon\common; Descrição : "Para todos os usuários" ; GroupDescription : "Ícones adicionais:" ; Componentes : principal; Sinalizadores : Nome exclusivo : desktopicon\user; Descrição : "Somente para o usuário atual" ; GroupDescription : "Ícones adicionais:" ; Componentes : principal; Flags : exclusivo desmarcado Nome : quicklaunchicon; Descrição : "Criar um ícone de &Quick Launch" ; GroupDescription : "Ícones adicionais:" ; Componentes : principal; Flags : desmarcado Nome : associado; Descrição : "&Associar arquivos" ; GroupDescription : "Outras tarefas:" ; Sinalizadores: desmarcado

- esta seção opcional define quais pastas adicionais além da pasta do aplicativo devem ser criadas.

[ Dirs ] Nome : "(app)\data" Nome : "(app)\bin"

– uma seção opcional que determina quais arquivos serão instalados no computador.

[Arquivos] Fonte: "CTL3DV2.DLL"; DestDir : "(sys)" ; Sinalizadores : onlyifdoesntexist uninsneveruninstall Fonte : "MYPROG.EXE" ; DestDir : "(app)" Fonte : "MYPROG.CHM" ; DestDir : "(app)" Fonte : "README.TXT" ; DestDir : "(app)" ; Sinalizadores: isreadme

– uma seção opcional que determina quais atalhos serão criados no menu Iniciar, na área de trabalho, etc.

[ Ícones ] Nome : "(grupo)\Meu Programa" ; Nome do arquivo : "(app)\MYPROG.EXE" ; WorkingDir: "(app)" Nome: "(grupo)\Desinstalar Meu Programa"; Nome do arquivo: "(uninstall.exe)"

– uma seção opcional que determina quais entradas serão adicionadas ao arquivo INI.

[ INI ] Nome do arquivo : "MeuProg.ini" ; Seção : "InstallSettings" ; Sinalizadores : uninsdeletesection Nome do arquivo : "MyProg.ini" ; Seção : "InstallSettings" ; Chave : "InstallPath" ; String: "(aplicativo)"

e - essas seções opcionais determinam quais arquivos ou pastas devem ser excluídos, respectivamente, na primeira instalação ou desinstalação. Exemplo:

[UninstallDelete] Tipo: arquivos; Nome: "(win)\MYPROG.INI"

– seção define os idiomas que estarão disponíveis durante a instalação. Ao executar o instalador, o idioma corresponderá ao idioma do sistema. Caso contrário, o idioma que for o primeiro da seção será usado por padrão. . Exemplo:

[Idiomas] Nome: "pt"; MessagesFile : "compiler:Default.isl" Nome : "nl" ; Arquivo de mensagens: "compilador:Idiomas\Holandês.isl"

– seção para substituição de mensagens descritas em arquivos de idioma .isl. Um exemplo de substituição do texto padrão " &Próximo >” no botão de próxima etapa somente para inglês:

[ Mensagens ] pt.ButtonNext =&Avançar >

– seção para definir valores constantes (cm:...), consulte a descrição das constantes acima. Exemplo de uso:

[ CustomMessages] CreateDesktopIcon=Criar um ícone do &desktop [ Tarefas ] Nome : desktopicon; Descrição: "(cm:CreateDesktopIcon)"

– seção contém configurações de idioma, como fonte. Exemplo:

[ LangOptions ] LanguageName=Inglês LanguageID=$0409 LanguageCodePage=0 DialogFontName= DialogFontSize=8 WelcomeFontName=Verdana WelcomeFontSize=12 TitleFontName=Arial TitleFontSize=29 CopyrightFontName=Arial CopyrightFontSize=8 RightToLeft=não

- Esta seção opcional especifica quais chaves e valores devem ser criados, modificados ou excluídos no registro. Exemplos de uso:

[Registro] Raiz: HKCU; Subchave : "Software\Minha Empresa" ; Sinalizadores: uninsdeletekeyifempty Raiz: HKCU; sub-chave: ; Sinalizadores: uninsdeletekey Raiz: HKLM; Subchave : "Software\Minha Empresa" ; Sinalizadores: uninsdeletekeyifempty Raiz: HKLM; sub-chave : "Software\Minha Empresa\Meu Programa"; Sinalizadores: uninsdeletekey Raiz: HKLM; sub-chave : "Software\Minha Empresa\Meu Programa\Configurações"; Tipo de valor: string ValueName : "InstallPath" ; ValueData : "(aplicativo)"

- esta seção opcional define quais programas serão executados após uma instalação bem-sucedida, mas antes que a etapa final apareça na janela do assistente de instalação. Exemplos:

[Executar] Nome do arquivo: "(app)\INIT.EXE"; Parâmetros : "/x" Nome do arquivo : "(app)\README.TXT" ; Descrição : "Visualizar o arquivo README" ; Sinalizadores : postinstall shellexec skipifsilent Nome do arquivo : "(app)\MYPROG.EXE" ; Descrição : "Iniciar aplicativo" ; Sinalizadores: postinstall nowait skipifsilent unchecked

- esta seção opcional determina quais programas devem ser executados no início da desinstalação.

– nesta seção opcional você pode colocar seu Script Pascal. Para processamento Script Pascal motor é usado Script Pascal RemObjects. Este motor é tão gratuito quanto Configuração do Inno. Página oficial do motor Script Pascal RemObjects- . Exemplos de uso podem ser encontrados nos arquivos " Código*.iss" e " Código de desinstalação*.iss"na pasta" Exemplos» no local de instalação Configuração do Inno.

Ordem de instalação e desinstalação

Altamente ponto importante durante a instalação, este é um entendimento em que ordem o script é executado. As etapas do instalador estão listadas abaixo na ordem em que serão executadas durante a instalação:

      • Execução da seção .
      • Elementos da seção são armazenados no log de desinstalação (que, neste estágio, é armazenado na memória).
      • Um diretório de aplicativos é criado, se necessário.
      • Seções em execução .
      • O nome do arquivo de log de desinstalação é reservado, se necessário.
      • Seção em andamento (os arquivos ainda não estão registrados).
      • Seção em andamento .
      • Seção em andamento .
      • Seção em andamento .
      • Os arquivos que devem ser registrados são registrados, exceto quando o sistema deve ser reinicializado. No caso de ser necessária uma reinicialização, o registro ocorre somente após a reinicialização do sistema.
      • Adicione à lista de programas instalados (Painel de Controle\Programas\Programas e Recursos), se necessário.
      • Elementos da seção salvo no log de desinstalação.
      • O arquivo EXE e o log do desinstalador são salvos no disco. Após esse ponto, o usuário é impedido de cancelar a instalação e quaisquer erros subsequentes não reverterão a instalação.
      • Execução da seção , exceto para os elementos da seção com a bandeira " pós-instalação”, que será executado após a exibição da última etapa do assistente de instalação.
      • Atualizando associações para arquivos, se o sinalizador " Associações de alterações" está configurado para " sim».
      • Notifique os aplicativos em execução que as variáveis ​​de ambiente foram alteradas se o " MudançasAmbiente" está configurado para " sim».
      • Quanto aos elementos da seção, eles serão executados na ordem em que estiverem localizados dentro da seção.

A desinstalação ocorre na ordem inversa. Mas isso não se aplica às seções. e , que serão executados na ordem em que ocorrem no script (não na ordem inversa).

Pré-processador Inno Setup

Gostaria de escrever algumas palavras sobre o pré-processador Inno Setup (ISPP). O principal objetivo do pré-processador é automatizar tarefas em tempo de compilação e reduzir a probabilidade de erros de digitação em seus scripts. Por exemplo, você pode declarar uma variável ISPP(variável de tempo de compilação) contendo o nome do seu aplicativo e, em seguida, use o valor dessa variável em vários locais do seu script. Se, por algum motivo, você precisar alterar o nome do seu aplicativo posteriormente, poderá fazê-lo em um local no seu script. Sem ISPP, você terá que encontrar e corrigir todas as partes do script em que você usa o nome do aplicativo, por exemplo, AppName, AppVerName, DefaultGroupName etc.

Outro caso de uso ISPP- isso está puxando informações sobre a versão do aplicativo do arquivo EXE e usando-as na instrução AppVerName na seção . Sem ISPP, você terá que alterar o script toda vez que alterar a versão do aplicativo.

Além disso, dividir o script em partes possibilita a criação de um único script para diferentes versões do seu aplicativo (por exemplo, versão de avaliação e versão completa).

Ao usar o pré-processador, é importante lembrar que o pré-processador só funciona em tempo de compilação.

Chamando o compilador Inno Setup a partir da linha de comando

Não seria supérfluo saber da possibilidade de compilar uma distribuição a partir de linha de comando. A chamada de compilação se parece com isso:

compil32 /cc