Pular para o conteúdo

Crie um instalador NSIS online, sem escrever script

O que é o NSIS, como é um script .nsi mínimo e como obter um Setup.exe NSIS padrão com o assistente Modern UI, atalhos e desinstalador a partir de um formulário em vez de um script.

Atualizado em 31 de outubro de 2026 · 3 min de leitura

O NSIS, Nullsoft Scriptable Install System, é há mais de vinte anos o discreto burro de carga por trás dos instaladores do Windows. VLC, 7-Zip, Audacity e incontáveis aplicativos Electron são distribuídos com ele. É gratuito, produz instaladores pequenos e faz exatamente o que o script diz. O script também é o que trava muita gente: você aprende uma linguagem de macros para obter um assistente que a maioria dos aplicativos quer, de qualquer forma, com o mesmo formato. Este guia mostra o que o script envolve e como obter o mesmo instalador sem escrevê-lo.

O que o NSIS faz

O makensis compila um script de texto (.nsi) em um Setup.exe autônomo. O script declara as páginas do assistente, os arquivos a instalar, os atalhos e as entradas de registro a criar, e uma seção de desinstalação que desfaz tudo isso. Com a Modern UI (MUI2.nsh), você tem as conhecidas páginas de boas-vindas, licença, pasta, progresso e conclusão, traduzidas para dezenas de idiomas.

A saída é compacta: a compressão LZMA sólida costuma superar um zip dos mesmos arquivos. Os instaladores aceitam o modo silencioso (/S) e uma pasta de instalação personalizada (/D=) sem nenhum trabalho extra.

Como é o script

Um script mínimo e realista para uma pasta de aplicativo chega a cerca de oitenta linhas. O esqueleto:

!include MUI2.nsh
Name "My App"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES64\My App"
RequestExecutionLevel admin

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.txt"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

Section "Install"
  SetOutPath "$INSTDIR"
  File /r "app\*"
  WriteUninstaller "$INSTDIR\uninstall.exe"
  CreateShortcut "$SMPROGRAMS\My App.lnk" "$INSTDIR\MyApp.exe"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App" "DisplayName" "My App"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App" "UninstallString" "$INSTDIR\uninstall.exe"
SectionEnd

Section "Uninstall"
  Delete "$INSTDIR\MyApp.exe"
  RMDir /r "$INSTDIR"
  Delete "$SMPROGRAMS\My App.lnk"
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\My App"
SectionEnd

O script de verdade cresce a partir daí: informações de versão para as propriedades do arquivo, atalho na área de trabalho, visões de registro de 64 bits, instalações por usuário em $LOCALAPPDATA, um diálogo de seleção de idioma, "executar após instalar", um tamanho estimado para as Configurações do Windows e um desinstalador que apaga apenas os arquivos que instalou, em vez da pasta inteira (usuários realmente guardam arquivos próprios ao lado dos aplicativos). Cada item são poucas linhas, e cada um é um lugar para errar em algum detalhe.

Obtendo o mesmo instalador a partir de um formulário

O ExeTup é um gerador de instaladores NSIS: ele gera um script como o acima a partir das suas respostas, compila com o makensis na nuvem e entrega o Setup.exe. O que você preenche:

  • Arquivos: um zip da pasta do aplicativo, ou um único .exe, mais "outros arquivos" opcionais para instalar junto.
  • Detalhes: nome, versão, editor, site, texto da licença.
  • Opções: todos os usuários ou usuário atual, 64 ou 32 bits, atalhos no menu Iniciar e na área de trabalho, abrir após instalar, abrir na inicialização do sistema.
  • Idiomas: qualquer um de quinze, com o diálogo de idioma do NSIS quando você escolhe mais de um.
  • Ícone: um .ico para o instalador e os atalhos.

O resultado é um instalador NSIS padrão com a Modern UI, compressão LZMA sólida, desinstalador registrado nas Configurações do Windows, informações de versão nas propriedades do arquivo e instalação silenciosa com /S. Cada valor que você digita é escapado antes de chegar ao script, o que importa porque scripts NSIS podem executar comandos em tempo de compilação.

Quando escrever o script você mesmo

Escreva NSIS à mão quando precisar de páginas personalizadas, plugins, seções condicionais, instalação de serviços ou integração com um pipeline de CI que já compila no Windows. A documentação do NSIS e os exemplos que vêm com ele são bons. Para um aplicativo que precisa do assistente padrão, atalhos e um desinstalador, gerar o script é mais rápido e mais difícil de errar.

Perguntas frequentes

A saída é um instalador NSIS de verdade?

Sim. O ExeTup gera um script NSIS e o compila com o makensis oficial. O Setup.exe se comporta como qualquer instalador NSIS, incluindo as opções /S e /D=.

Posso baixar o script .nsi gerado?

O script é gerado no momento do build a partir das suas configurações. O que você baixa é o próprio instalador; as opções dele ficam visíveis na prévia antes de compilar.

O NSIS roda no Mac ou no Linux?

O makensis compila nas três plataformas, e o Homebrew e o apt o empacotam. O script continua sendo você quem escreve. O ExeTup precisa apenas de um navegador; veja como criar um instalador do Windows em um Mac.

Quais idiomas são suportados?

Inglês, chinês simplificado, hindi, espanhol, francês, árabe, português do Brasil, russo, indonésio, alemão, japonês, turco, coreano, vietnamita e italiano, usando as próprias traduções do NSIS.

Guias relacionados