Crear un instalador de Windows para una app Electron
Empaqueta tu app Electron con Electron Packager o Forge y convierte la carpeta resultante en un Setup.exe con asistente, accesos directos y desinstalador, sin configurar electron-builder.
Actualizado el 31 de octubre de 2026 · 4 min de lectura
Electron te entrega una app de Windows funcional dentro de una carpeta: MyApp.exe, unas cuantas DLL, resources/app.asar y los locales. Convertir esa carpeta en un Setup.exe es un paso aparte, y las herramientas habituales (electron-builder, Squirrel, los makers de electron-forge) traen cada una su propia configuración, sus peculiaridades y sus requisitos para la máquina de compilación. Si prefieres no aprenderlas solo para obtener un instalador con asistente, este es el camino corto.
Paso 1: empaquetar la app en una carpeta
Necesitas la app empaquetada, no el proyecto de desarrollo. Cualquiera de las dos herramientas siguientes produce una carpeta lista para distribuir.
Electron Packager (un solo comando, sin archivo de configuración):
npx @electron/packager . MyApp --platform=win32 --arch=x64 --icon=build/icon.ico --overwrite
Esto crea MyApp-win32-x64/ con MyApp.exe dentro.
Electron Forge, si tu proyecto ya lo usa:
npm run package
La carpeta aparece en out/, por ejemplo out/MyApp-win32-x64/.
Ambos comandos funcionan en Windows, macOS y Linux. El parámetro --icon (o packagerConfig.icon en Forge) define el icono incrustado en MyApp.exe; guarda ese archivo .ico a mano, porque también lo usarás para el instalador.
Abre la carpeta y haz doble clic en MyApp.exe para comprobar que la app empaquetada arranca. Usa --arch=ia32 en su lugar si necesitas una compilación de 32 bits.
Paso 2: comprimir la carpeta en un zip
Comprime el contenido de MyApp-win32-x64/ (el .exe, las DLL, resources/, locales/), no el proyecto que la contiene. Todo lo que haya en el zip se instala tal cual, así que deja fuera lo que no deba distribuirse.
Paso 3: generar el instalador
- Sube el zip a ExeTup. Mostrará la lista de archivos y elegirá
MyApp.execomo programa principal; confírmalo. - Introduce el nombre de la app, la versión (la misma que en
package.json), el editor y, si quieres, una licencia. - Elige el ámbito de instalación. Las apps Electron suelen instalarse por usuario, lo que no requiere permisos de administrador y coincide con lo que hacen los instaladores basados en Squirrel. Elige todos los usuarios si quieres la app en Program Files para todas las cuentas del equipo.
- Mantén 64 bits para un paquete x64.
- Sube el mismo
.icopara el instalador y los accesos directos, activa los accesos directos del menú Inicio y del escritorio y, si lo deseas, «ejecutar al terminar la instalación». - Genera, descarga
Setup.exey pruébalo en Windows.
Particularidades de Electron
- Tamaño. Una app Electron empaquetada ocupa entre 150 y 250 MB sin comprimir. El instalador usa compresión LZMA sólida, que normalmente la reduce a entre 60 y 90 MB. Consulta el límite de subida en la sección de precios antes de comprimir; lo define el sitio.
- Actualizaciones automáticas. Este instalador no incluye un canal de actualizaciones. Si usas
electron-updatero el mecanismo de actualización de Squirrel, mantén esa vía; esta guía está pensada para apps que publican cada versión nueva como un instalador nuevo, lo cual es más sencillo y suficiente para muchas apps. - Inicio con Windows. Prefiere la opción «ejecutar al iniciar sesión» del instalador en lugar de
app.setLoginItemSettingscuando quieras que la decisión se tome en el momento de instalar; ambas escriben el mismo tipo de entrada Run. - Firma de código. Tanto el
MyApp.exeempaquetado como elSetup.exequedan sin firmar a menos que los firmes. Las descargas sin firma pueden provocar la advertencia de SmartScreen; consulta la guía sobre SmartScreen.
Comparado con el destino NSIS de electron-builder
electron-builder también puede producir un instalador NSIS, y es una buena herramienta cuando necesitas todas sus funciones: actualizaciones delta, scripts NSIS personalizados, salida MSI, hooks de firma. La contrapartida es la configuración y un entorno de compilación que mantener. ExeTup genera el mismo tipo de instalador NSIS a partir de la carpeta empaquetada, con las opciones definidas en un formulario, lo que conviene a equipos que publican de vez en cuando o que compilan en un Mac y no quieren un pipeline de Windows solo para el instalador.
Preguntas frecuentes
¿Puedo subir la carpeta del proyecto Electron en lugar de la app empaquetada?
No. El instalador envuelve la salida de Electron Packager o Forge: la carpeta que contiene MyApp.exe. El proyecto fuente, node_modules y las herramientas de desarrollo no tienen cabida ahí.
¿Qué ámbito de instalación debería usar una app Electron?
Por usuario es la opción habitual, porque se instala sin aviso de administrador en la carpeta del propio usuario. Elige todos los usuarios cuando un departamento de TI despliegue la app para todas las cuentas de un equipo.
¿Gestiona el instalador el caso de que la app esté abierta durante la desinstalación?
El desinstalador elimina los archivos que instaló. Pide a los usuarios que cierren antes la app, como con cualquier programa de Windows; un .exe en ejecución no se puede borrar hasta que termina.
¿Funciona con apps creadas con Tauri o NW.js?
Sí. Cualquier carpeta con un .exe de Windows y sus archivos se puede envolver. Tauri trae su propio empaquetador, pero la salida empaquetada normal funciona aquí de la misma manera.
Guías relacionadas
- Cómo crear un Setup.exe para tu app de Windows (sin código)Qué hace realmente un Setup.exe, las tres formas de crear uno y cómo convertir la carpeta de tu app en un instalador profesional en minutos, sin escribir ningún script.
- Crear un instalador de Windows desde Mac o LinuxTus opciones para generar un Setup.exe cuando desarrollas en macOS o Linux, desde compilar NSIS de forma cruzada hasta una compilación solo en el navegador, y cómo probar el resultado sin tener un PC con Windows.
- «Windows protegió su PC»: qué significa el aviso de SmartScreen y cómo eliminarloPor qué Windows muestra el aviso de «editor desconocido» en un instalador nuevo, qué pueden pulsar los usuarios y cómo la firma de código y la reputación hacen que desaparezca.