Criar um instalador do Windows para um app Electron
Empacote seu app Electron com o Electron Packager ou o Forge e transforme a pasta gerada em um Setup.exe com assistente, atalhos e desinstalador, sem configurar o electron-builder.
Atualizado em 31 de outubro de 2026 · 4 min de leitura
O Electron entrega um app do Windows funcional dentro de uma pasta: MyApp.exe, algumas DLLs, resources/app.asar e os locales. Transformar essa pasta em um Setup.exe é uma etapa à parte, e as ferramentas habituais (electron-builder, Squirrel, os makers do electron-forge) trazem cada uma sua própria configuração, suas peculiaridades e seus requisitos para a máquina de build. Se você prefere não aprendê-las só para ter um instalador com assistente, este é o caminho curto.
Passo 1: empacotar o app em uma pasta
Você precisa do app empacotado, não do projeto de desenvolvimento. Qualquer uma das duas ferramentas abaixo gera uma pasta pronta para distribuir.
Electron Packager (um único comando, sem arquivo de configuração):
npx @electron/packager . MyApp --platform=win32 --arch=x64 --icon=build/icon.ico --overwrite
Isso cria MyApp-win32-x64/ com MyApp.exe dentro.
Electron Forge, se o seu projeto já o usa:
npm run package
A pasta aparece em out/, por exemplo out/MyApp-win32-x64/.
Os dois comandos funcionam no Windows, no macOS e no Linux. O parâmetro --icon (ou packagerConfig.icon no Forge) define o ícone embutido em MyApp.exe; guarde esse arquivo .ico por perto, porque ele também será usado no instalador.
Abra a pasta e dê um duplo clique em MyApp.exe para confirmar que o app empacotado inicia. Use --arch=ia32 no lugar se precisar de uma versão de 32 bits.
Passo 2: compactar a pasta em zip
Compacte o conteúdo de MyApp-win32-x64/ (o .exe, as DLLs, resources/, locales/), não o projeto pai. Tudo o que estiver no zip é instalado como está, então deixe de fora o que não deve ser distribuído.
Passo 3: gerar o instalador
- Envie o zip para o ExeTup. Ele lista os arquivos e escolhe
MyApp.execomo programa principal; confirme. - Informe o nome do app, a versão (igual à do
package.json), o publicador e, se quiser, uma licença. - Escolha o escopo da instalação. Apps Electron costumam ser instalados por usuário, o que não exige direitos de administrador e corresponde ao que os instaladores baseados em Squirrel fazem. Escolha todos os usuários se quiser o app em Program Files para todas as contas da máquina.
- Mantenha 64 bits para um pacote x64.
- Envie o mesmo
.icopara o instalador e os atalhos, ative os atalhos do menu Iniciar e da área de trabalho e, se quiser, “executar após a instalação”. - Gere o instalador, baixe o
Setup.exee teste no Windows.
Particularidades do Electron
- Tamanho. Um app Electron empacotado tem de 150 a 250 MB sem compressão. O instalador usa compressão LZMA sólida, que normalmente reduz isso para 60 a 90 MB. Confira o limite de upload na seção de preços antes de compactar; ele é definido pelo site.
- Atualizações automáticas. Este instalador não inclui um canal de atualização. Se você usa
electron-updaterou o mecanismo de atualização do Squirrel, mantenha esse caminho; este guia é para apps que lançam cada nova versão como um novo instalador, o que é mais simples e adequado para muitos apps. - Iniciar com o Windows. Prefira a opção “iniciar com o sistema” do instalador em vez de
app.setLoginItemSettingsquando quiser que a escolha seja feita na instalação; as duas gravam o mesmo tipo de entrada Run. - Assinatura de código. O
MyApp.exeempacotado e oSetup.exeficam sem assinatura, a menos que você os assine. Downloads não assinados podem acionar o aviso do SmartScreen; veja o guia sobre o SmartScreen.
Comparação com o alvo NSIS do electron-builder
O electron-builder também pode gerar um instalador NSIS, e é uma boa ferramenta quando você precisa de todo o seu conjunto de recursos: atualizações delta, scripts NSIS personalizados, saída MSI, hooks de assinatura. A contrapartida é a configuração e um ambiente de build para manter. O ExeTup gera o mesmo tipo de instalador NSIS a partir da pasta empacotada, com as opções definidas em um formulário, o que atende equipes que lançam ocasionalmente ou que fazem o build em um Mac e não querem um pipeline Windows só para o instalador.
Perguntas frequentes
Posso enviar a pasta do projeto Electron em vez do app empacotado?
Não. O instalador empacota a saída do Electron Packager ou do Forge: a pasta que contém MyApp.exe. O projeto-fonte, o node_modules e as ferramentas de desenvolvimento não fazem parte dele.
Qual escopo de instalação um app Electron deve usar?
Por usuário é a escolha comum, porque instala sem pedir permissão de administrador, na pasta do próprio usuário. Escolha todos os usuários quando departamentos de TI implantarem o app para todas as contas de uma máquina.
O instalador lida com o app aberto durante a desinstalação?
O desinstalador remove os arquivos que instalou. Peça aos usuários que fechem o app antes, como com qualquer programa do Windows; um .exe em execução não pode ser excluído até ser encerrado.
Isso funciona para apps feitos com Tauri ou NW.js?
Sim. Qualquer pasta com um .exe do Windows e seus arquivos pode ser empacotada. O Tauri traz seu próprio bundler, mas a saída empacotada simples funciona aqui da mesma forma.
Guias relacionados
- Como criar um Setup.exe para seu app Windows (sem código)O que um Setup.exe realmente faz, as três formas de criar um e como transformar a pasta do seu app em um instalador profissional em minutos, sem escrever script de instalação.
- Criar um instalador do Windows no Mac ou no LinuxSuas opções para gerar um Setup.exe quando você desenvolve no macOS ou no Linux, da compilação cruzada com NSIS a um build feito só no navegador, e como testar o resultado sem ter um PC com Windows.
- '"O Windows protegeu o computador": o que significa o aviso do SmartScreen e como eliminá-lo'Por que o Windows mostra o aviso de "editor desconhecido" em um instalador novo, o que os usuários podem clicar e como a assinatura de código e a reputação fazem o aviso sumir.