Перейти к содержимому

Создание установщика 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: собрать установщик

  1. Загрузите zip-архив в ExeTup. Он покажет список файлов и выберет MyApp.exe в качестве основной программы; подтвердите выбор.
  2. Введите название приложения, версию (такую же, как в package.json), издателя и, при желании, лицензию.
  3. Выберите область установки. Приложения на Electron обычно устанавливаются для текущего пользователя: это не требует прав администратора и соответствует тому, как работают установщики на основе Squirrel. Выберите для всех пользователей, если хотите, чтобы приложение попало в Program Files и было доступно всем на компьютере.
  4. Для пакета x64 оставьте 64-бит.
  5. Загрузите тот же .ico для установщика и ярлыков, включите ярлыки в меню «Пуск» и на рабочем столе, а при желании — «запустить после установки».
  6. Запустите сборку, скачайте 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 есть собственный бандлер, но обычный упакованный вывод здесь работает точно так же.

Похожие руководства