Создание установщика Windows для приложения на Electron
Упакуйте приложение Electron с помощью Electron Packager или Forge и превратите полученную папку в Setup.exe с мастером установки, ярлыками и деинсталлятором без настройки electron-builder.
Обновлено 31 октября 2026 г. · 3 мин чтения
Electron даёт вам рабочее приложение для Windows в виде папки: MyApp.exe, несколько DLL, resources/app.asar и локали. Превращение этой папки в Setup.exe — отдельный шаг, и привычные инструменты (electron-builder, Squirrel, мейкеры electron-forge) приносят с собой каждый свою конфигурацию, свои особенности и свои требования к сборочной машине. Если вы не хотите разбираться в них ради установщика с мастером, вот короткий путь.
Шаг 1: упаковать приложение в папку
Нужно упакованное приложение, а не проект для разработки. Любой из двух инструментов ниже создаёт папку, которую можно распространять.
Electron Packager (одна команда, без файла конфигурации):
npx @electron/packager . MyApp --platform=win32 --arch=x64 --icon=build/icon.ico --overwrite
Команда создаёт папку MyApp-win32-x64/ с MyApp.exe внутри.
Electron Forge, если ваш проект уже его использует:
npm run package
Папка появится в out/, например out/MyApp-win32-x64/.
Обе команды работают в Windows, macOS и Linux. Флаг --icon (или packagerConfig.icon в Forge) задаёт значок, встраиваемый в MyApp.exe; держите этот файл .ico под рукой — он пригодится и для установщика.
Откройте папку и дважды щёлкните MyApp.exe, чтобы убедиться, что упакованное приложение запускается. Если нужна 32-битная сборка, укажите вместо этого --arch=ia32.
Шаг 2: заархивировать папку
Заархивируйте содержимое папки MyApp-win32-x64/ (.exe, DLL, resources/, locales/), а не родительский проект. Всё, что есть в zip-архиве, устанавливается как есть, поэтому не включайте ничего, что не должно попасть к пользователям.
Шаг 3: собрать установщик
- Загрузите zip-архив в ExeTup. Он покажет список файлов и выберет
MyApp.exeв качестве основной программы; подтвердите выбор. - Введите название приложения, версию (такую же, как в
package.json), издателя и, при желании, лицензию. - Выберите область установки. Приложения на Electron обычно устанавливаются для текущего пользователя: это не требует прав администратора и соответствует тому, как работают установщики на основе Squirrel. Выберите для всех пользователей, если хотите, чтобы приложение попало в Program Files и было доступно всем на компьютере.
- Для пакета x64 оставьте 64-бит.
- Загрузите тот же
.icoдля установщика и ярлыков, включите ярлыки в меню «Пуск» и на рабочем столе, а при желании — «запустить после установки». - Запустите сборку, скачайте
Setup.exeи протестируйте его в Windows.
Особенности Electron
- Размер. Упакованное приложение Electron занимает 150–250 МБ в несжатом виде. Установщик использует непрерывное (solid) сжатие LZMA, которое обычно уменьшает его до 60–90 МБ. Перед архивированием проверьте лимит загрузки в разделе с ценами; его задаёт сайт.
- Автообновления. Этот установщик не содержит канала обновлений. Если вы используете
electron-updaterили механизм обновления Squirrel, оставьте его; это руководство для приложений, которые выпускают новые версии в виде нового установщика, — так проще, и для многих приложений этого вполне достаточно. - Автозапуск. Если хотите, чтобы выбор делался при установке, предпочитайте опцию установщика «запускать при входе в систему» вместо
app.setLoginItemSettings; обе записывают одинаковую запись Run. - Подпись кода. Упакованный
MyApp.exeиSetup.exeостаются неподписанными, пока вы их не подпишете. Неподписанные загрузки могут вызвать предупреждение SmartScreen; см. руководство по SmartScreen.
Сравнение с целью NSIS в electron-builder
electron-builder тоже умеет создавать установщик NSIS, и это хороший инструмент, когда нужен весь его набор возможностей: дельта-обновления, собственные скрипты NSIS, вывод в MSI, хуки подписи. Плата за это — конфигурация и сборочное окружение, которое нужно поддерживать. ExeTup собирает такой же установщик NSIS из упакованной папки, а параметры задаются в форме; это подходит командам, которые выпускают релизы изредка или собирают приложение на Mac и не хотят поддерживать Windows-конвейер только ради установщика.
Частые вопросы
Можно ли загрузить папку проекта Electron вместо упакованного приложения?
Нет. Установщик оборачивает результат работы Electron Packager или Forge: папку, в которой лежит MyApp.exe. Исходному проекту, node_modules и инструментам разработки там не место.
Какую область установки выбрать для приложения на Electron?
Обычно выбирают установку для текущего пользователя: она проходит без запроса прав администратора в собственную папку пользователя. Выбирайте установку для всех пользователей, когда ИТ-отдел разворачивает приложение для каждой учётной записи на компьютере.
Справится ли установщик, если приложение открыто во время удаления?
Деинсталлятор удаляет файлы, которые он установил. Попросите пользователей сначала закрыть приложение, как и с любой программой для Windows: запущенный .exe нельзя удалить, пока он не завершится.
Подойдёт ли это для приложений на Tauri или NW.js?
Да. Обернуть можно любую папку с .exe для Windows и его файлами. У Tauri есть собственный бандлер, но обычный упакованный вывод здесь работает точно так же.
Похожие руководства
- Как создать Setup.exe для приложения Windows (без кода)Что на самом деле делает Setup.exe, три способа его создать и как за несколько минут превратить папку с приложением в профессиональный установщик без написания скрипта.
- Создать установщик Windows на Mac или LinuxКак собрать Setup.exe, если вы разрабатываете на macOS или Linux: от кросс-компиляции NSIS до сборки прямо в браузере, и как протестировать результат без собственного ПК с Windows.
- «Система Windows защитила ваш компьютер»: что означает предупреждение SmartScreen и как от него избавитьсяПочему Windows показывает предупреждение «неизвестный издатель» на новом установщике, что могут нажать пользователи и как подпись кода и репутация убирают предупреждение.