Arquivos de script são arquivos de texto que podem ser criados e editados no Inno Setup ou em qualquer editor de texto. O software nos permitirá compilar o arquivo de script iss e por padrão atribuirá o nome Setup.exe uma vez compilado, portanto teremos um programa completo, pronto para distribuir e executar a instalação.
Para começar um exemplo simples, vamos começar, neste caso, vamos fazer a partir do Linux com Vinho e o assistente.
Por fim, adicionaremos os ícones e configuraremos o layout dos menus. No final, iremos criar o script e devemos compilá-lo a partir do menu Build> Compile. Isso gerará uma pasta de saída com o arquivo setup.exe, que é o instalador.
Aqui podemos ver o instalador executado em Linux no Wine, portanto funciona tanto no Windows quanto no Linux.
Vamos analisar o script gerado
Na definição, configuramos os dados do aplicativo usando as diretivas #define
#define MyAppName "Tutoriais" #define MyAppVersion "2.0" #define MyAppPublisher "Myempresa" #define MyAppURL "http://www.mycompany.com/" #define MyAppExeName "mycompany.exe"A seção [Setup] contém parâmetros globais usados pelo instalador e desinstalador. As políticas podem ser personalizadas como uma atualização de software ou link de suporte técnico.
[Configuração] AppId = {{3502D097-DF67-49DD-B98B-59F0866126BB} AppName = {# MyAppName} AppVersion = {# MyAppVersion}; AppVerName = {# MyAppName} {#MyAppVersion} AppPublisher = {# MyAppPublisher}} AppSupportURL = {# MyAppURL} AppUpdatesURL = {# MyAppURL} DefaultDirName = {pf} \ {# MyAppName} DefaultGroupName = {# MyAppName} OutputBaseFilename = configuração Compression = lzma SolidCompression = simNa seção [Idiomas] definimos os idiomas de instalação, aqui vemos que usamos o inglês e o espanhol, retirados diretamente da pasta Idiomas do InnoSetup:
[Idiomas] Nome: "inglês"; MensagensFile: "compilador: Default.isl" Nome: "espanhol"; MensagensFile: "compilador: Idiomas \ Espanhol.isl"A seção [Tarefas] é opcional. Define todas as tarefas de configuração personalizáveis que o usuário executará durante a instalação. Crie menu, ícones, associe extensões de arquivo à nossa aplicação.
[Tarefas] Nome: "desktopicon"; Descrição: "{cm: CreateDesktopIcon}"; GroupDescription: "{cm: AdditionalIcons}"; Sinalizadores: desmarcadoO parâmetro Flags ou Flag é um conjunto de opções adicionais separadas por espaços. As seguintes opções são suportadas.
checkablealone: indica que se um componente for desmarcado, todas as suas dependências serão desmarcadas.
verificado uma vez: indica que a instalação de um componente deve ser desmarcada quando o programa de instalação encontrar uma versão anterior do mesmo aplicativo que já está instalado, para que o usuário possa decidir se deseja substituí-lo ou não.
reiniciar: Indica que após a execução de uma tarefa, o usuário é solicitado a reiniciar o sistema ao final da instalação. Exemplo se um servidor ou banco de dados está instalado e exigimos uma reinicialização para tê-lo disponível.
desmarcado: indica que a opção deve ser destilada e deve ser selecionada pelo usuário.
A seção [Arquivos] define configurações e especificações para cada arquivo em nosso aplicativo. O sinalizador isreadme indicará que o arquivo é somente leitura, enquanto onlyifdoesntexist indicará que o arquivo será copiado enquanto não existir.
[Arquivos] Fonte: "Z: \ mycompany \ dist \ mycompany.exe"; DestDir: "{app}"; Sinalizadores: Fonte: "Z: \ mycompany \ dist \ help.txt"; DestDir: "{app}"; Sinalizadores: isreadme Fonte: "Z: \ mycompany \ dist \ dbecompany.sqlite"; DestDir: "{app}"; Sinalizadores: onlyifdoesntexistA seção [Ícones] indica os ícones de cada menu, Área de Trabalho ou Atalho
[Ícones] Nome: "{group} \ {# MyAppName}"; Nome do arquivo: "{app} \ {# MyAppExeName}" Nome: "{commondesktop} \ {# MyAppName}"; Nome do arquivo: "{app} \ {# MyAppExeName}"; Tarefas: desktopiconA seção [Executar] é opcional e especifica quais programas devem ser executados após a instalação do software, mas antes da conclusão do programa de instalação. Aqui podemos instalar dependências, se houver, como Net framework ou Java SE Runtime Environment
[Executar] Nome do arquivo: "{app} \ {# MyAppExeName}"; Descrição: "{cm: LaunchProgram, {# StringChange (MyAppName, '&', '&&')}}"; Sinalizadores: nowait postinstallAlguns sinalizadores que esta seção suporta são:
nowait: especifica que o instalador não esperará que o processo termine a execução antes de prosseguir para a próxima tarefa [Executar] ou para concluir a instalação.
pós-instalação: instrui o instalador a criar uma caixa de seleção para informar que a instalação do aplicativo ou de um determinado componente está concluída. O usuário pode desmarcar ou marcar esta caixa de seleção e, portanto, escolher se esta tarefa deve ser processada ou não. Isso é para se já tivermos um componente instalado e não quisermos instalá-lo novamente.
Outras seções que podemos configurar a partir do Código Inno Setup Script está:
A seção [Tipos] Esta seção é opcional. Aqui nós definimos a instalação de certos componentes de acordo com os tipos de configuração, então ele será exibido na página Selecionar Componentes do assistente. Durante a compilação, um conjunto de tipos de configuração padrão é criado se você definir componentes em uma seção [Componentes], então cada componente recebe um tipo.
A seção [Tipos] está escrita abaixo da seção [Configuração] Uma vantagem é que podemos criar tipos personalizados para as opções de instalação, o mais conhecido é a instalação completa ou completa e personalizada.
[Tipos] Nome: "pro"; Descrição: "Instalação profissional" Nome: "PMEs"; Descrição: "Instalação SME" Nome: "win"; Descrição: "Instalação do Windows" Nome: "lin"; Descrição: "Instalação Linux" Nome: "pessoal"; Descrição: "Instalação personalizada"; Sinalizadores: iscustom [Componentes] Nome: "programa"; Descrição: "Tutoriais"; Tipos: pro PMEs pessoais; Nome: "sqlitewin"; Descrição: "Sqlite db"; Tipos: pro win Nome: "sqlitelin"; Descrição: "Sqlite db"; Tipos: pro lin Nome: "help.htm"; Descrição: "Ajuda"; Tipos: pro [Arquivos] Fonte: "Z: \ minhaempresa \ dist \ minhaempresa.exe"; DestDir: "{app}"; Componentes: Programa fonte: "Z: \ mycompany \ dist \ sqlite.dllt; DestDir:" {app} "; Componentes: sqlitewin Fonte:" Z: \ mycompany \ dist \ sqlite.so "; DestDir:" {app} "; Componentes: sqlitelin