Создать NSIS-инсталлятор онлайн, не написав ни строчки скрипта
Что такое NSIS, как выглядит минимальный скрипт .nsi и как получить стандартный Setup.exe на NSIS с мастером Modern UI, ярлыками и деинсталлятором, заполнив форму вместо написания скрипта.
Обновлено 31 октября 2026 г. · 3 мин чтения
NSIS, Nullsoft Scriptable Install System, уже больше двадцати лет остаётся незаметной рабочей лошадкой инсталляторов для Windows. С ним поставляются VLC, 7-Zip, Audacity и бесчисленные приложения на Electron. Он бесплатен, создаёт небольшие установщики и делает ровно то, что написано в скрипте. Но именно скрипт многих и останавливает: приходится учить макроязык, чтобы получить мастер установки, который большинству приложений и так нужен в одном и том же виде. Это руководство показывает, из чего состоит скрипт и как получить тот же инсталлятор, не написав его.
Что делает NSIS
makensis компилирует текстовый скрипт (.nsi) в самодостаточный Setup.exe. Скрипт описывает страницы мастера, устанавливаемые файлы, создаваемые ярлыки и записи реестра, а также секцию удаления, которая всё это откатывает. С Modern UI (MUI2.nsh) вы получаете привычные страницы приветствия, лицензии, выбора папки, прогресса и завершения, переведённые на десятки языков.
Результат компактен: solid-сжатие LZMA часто выигрывает у zip-архива с теми же файлами. Установщики без дополнительных усилий поддерживают тихий режим (/S) и пользовательскую папку установки (/D=).
Как выглядит скрипт
Минимальный, но реалистичный скрипт для папки приложения занимает около восьмидесяти строк. Каркас:
!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
Настоящий скрипт растёт дальше: информация о версии для свойств файла, ярлык на рабочем столе, 64-битные представления реестра, установка для текущего пользователя в $LOCALAPPDATA, диалог выбора языка, «запустить после установки», оценочный размер для «Параметров» Windows и деинсталлятор, который удаляет только установленные им файлы, а не всю папку (пользователи действительно кладут свои файлы рядом с приложениями). Каждый пункт — это несколько строк, и в каждом есть где ошибиться в деталях.
Как получить тот же инсталлятор из формы
ExeTup — это конструктор NSIS-инсталляторов: по вашим ответам он генерирует скрипт вроде приведённого выше, компилирует его с помощью makensis в облаке и отдаёт вам Setup.exe. Что нужно заполнить:
- Файлы: zip-архив папки приложения или один
.exe, плюс необязательные «другие файлы», которые установятся рядом. - Сведения: название, версия, издатель, сайт, текст лицензии.
- Параметры: для всех пользователей или только для текущего, 64 или 32 бита, ярлыки в меню «Пуск» и на рабочем столе, запуск после установки, автозапуск при старте системы.
- Языки: любые из пятнадцати, с диалогом выбора языка NSIS, если выбрано больше одного.
- Значок: файл
.icoдля установщика и ярлыков.
На выходе — стандартный NSIS-инсталлятор с Modern UI, solid-сжатием LZMA, деинсталлятором, зарегистрированным в «Параметрах» Windows, информацией о версии в свойствах файла и тихой установкой через /S. Каждое введённое вами значение экранируется, прежде чем попасть в скрипт, и это важно: скрипты NSIS могут выполнять команды на этапе компиляции.
Когда писать скрипт самому
Пишите NSIS вручную, если вам нужны собственные страницы, плагины, условные секции, установка служб или интеграция с CI-конвейером, который уже собирает проект на Windows. Документация NSIS и поставляемые с ним примеры хороши. Для приложения, которому нужны стандартный мастер, ярлыки и деинсталлятор, генерировать скрипт быстрее, а ошибиться сложнее.
Частые вопросы
Это настоящий NSIS-инсталлятор?
Да. ExeTup генерирует скрипт NSIS и компилирует его официальным makensis. Setup.exe ведёт себя как любой инсталлятор NSIS, включая ключи /S и /D=.
Можно ли скачать сгенерированный скрипт .nsi?
Скрипт генерируется из ваших настроек в момент сборки. Скачиваете вы сам установщик; его параметры видны в предпросмотре до сборки.
Работает ли NSIS на Mac или Linux?
makensis компилируется на всех трёх платформах, а Homebrew и apt предлагают его в виде пакета. Скрипт при этом всё равно пишете вы. ExeTup нужен только браузер; см. сборку установщика Windows на Mac.
Какие языки поддерживаются?
Английский, упрощённый китайский, хинди, испанский, французский, арабский, бразильский португальский, русский, индонезийский, немецкий, японский, турецкий, корейский, вьетнамский и итальянский — с собственными переводами NSIS.
Похожие руководства
- Как создать Setup.exe для приложения Windows (без кода)Что на самом деле делает Setup.exe, три способа его создать и как за несколько минут превратить папку с приложением в профессиональный установщик без написания скрипта.
- Альтернатива Inno Setup: установщик Windows онлайн, без скриптаВ чём силён Inno Setup, когда онлайн-конструктор без скриптов подходит лучше и как получить сопоставимый Setup.exe с мастером, ярлыками и деинсталлятором, заполнив обычную форму.
- Тихая установка Setup.exe: ключ /S, своя папка и развёртываниеКак запустить Setup.exe на базе NSIS в тихом режиме с ключом /S, задать папку через /D=, тихо удалить программу и развернуть установщик через Intune, PDQ или скрипт.