Nullsoft Scriptable Install System (NSIS) — система создания установочных программ для Microsoft Windows с открытым исходным кодом, разработанная компанией Nullsoft — автором плеера Winamp. NSIS был задуман как альтернатива InstallShield, предназначенного для коммерческих продуктов.
Nullsoft Scriptable Install System | |||
---|---|---|---|
| |||
Тип | Установщик | ||
Разработчик | Nullsoft | ||
Написана на | C++[3], Си[3], Nullsoft Scriptable Install System[3] и PHP[3] | ||
Операционные системы | Microsoft Windows, POSIX | ||
Первый выпуск | 31 июля 2000[1] | ||
Последняя версия | 3.10 (30 марта 2024 года[2]) | ||
Репозиторий |
sourceforge.net/p/nsis/c… github.com/kichik/nsis |
||
| |||
| |||
Состояние | активное | ||
Лицензия | лицензия zlib | ||
Сайт |
nsis.sourceforge.net (англ.) nsis-dev.github.io (англ.) |
||
Медиафайлы на Викискладе |
История
правитьИзначально NSIS был спроектирован для распространения Winamp. Он основан на предыдущем продукте Nullsoft — PiMP (plugin Mini Packager), иначе известном как SuperPiMP. После версии 2.0a0 проект был перемещён на SourceForge.net, где к работе над ним присоединились и сторонние разработчики. Два года спустя появился NSIS 2.0.
NSIS версии 1 очень похож на классический Windows Installer, но он был более управляемым с помощью скриптов и поддерживал другие форматы сжатия. NSIS версии 2 поддерживает новый графический интерфейс пользователя, LZMA-сжатие, многоязычность и имеет развитую систему плагинов.
POSIX
правитьВерсия 2.01 была первой версией, поддерживающей компиляцию на любой из POSIX-платформ. Это позволило создавать Windows-установщики на GNU/Linux и FreeBSD без использования Wine. На данный момент поддерживается компиляция только для Windows.
Скрипт
правитьКомпилятор NSIS — программа makensis — компилирует скрипты в исполняемый код. Каждая строчка скрипта содержит одну команду. Пример:
# Пример скрипта
Name "Example1"
OutFile "example1.exe"
InstallDir "$PROGRAMFILES\Example1"
Page Directory
Page InstFiles
Section
SetOutPath $INSTDIR
File ..\makensis.exe
SectionEnd
Modern User Interface
правитьВ версии 2.0 был введён новый графический интерфейс пользователя, названный Modern UI (MUI). MUI очень похож на интерфейс традиционных установочных "мастеров", поддерживает заставку, выбор языка и устанавливаемых компонентов и имеет более широкие возможности настройки, чем его предшественник. Пример:
# Пример скрипта с Modern UI
!include MUI.nsh
Name "Example 2"
OutFile Example2.exe
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "license.rtf"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "French"
Section "Extract makensis"
SetOutPath $INSTDIR
File ..\makensis.exe
SectionEnd
Плагины
правитьNSIS допускает расширение с помощью плагинов, которые могут быть написаны на C++, С и Delphi. Плагины применяются для улучшения функциональности и интерфейса установщика и могут быть вызваны в любой части кода NSIS-скрипта.
С пакетом NSIS поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и др.
Особенности
правитьПо сравнению с другими системами создания инсталляторов NSIS обладает рядом особенностей[4]:
- маленький размер установочного блока (около 34 Кбайт);
- несколько методов сжатия файлов — zlib, bzip2 и LZMA;
- гибкая система скриптов;
- поддержка множества языков;
- расширение функциональности при помощи плагинов;
- скрипт-препроцессор;
- возможность создания веб-установщиков.
Программы и игры, использующие NSIS
правитьК наиболее известным проектам, использующим NSIS, относятся[5]:
|
|
- Скретч (язык программирования) (исключаются версии 2.0 и 3.0
Редакторы
правитьСкрипты NSIS — это обычные текстовые файлы с расширением «.nsi», которые можно создать с помощью любого текстового редактора. Тем не менее разработано несколько специальных программ, облегчающих процесс создания скриптов:
- Проект EclipseNSIS на сайте SourceForge.net — плагин для Eclipse, позволяющий редактировать, компилировать и тестировать NSIS скрипты;
- HM NIS EDIT — NSIS-редактор/IDE;
- Venis — визуальная среда для NSIS.
См. также
правитьПримечания
править- ↑ NSIS version history
- ↑ Changelog and Release Notes . nsis.sourceforge.io. Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
- ↑ 1 2 3 4 https://www.openhub.net/p/nsis/analyses/latest/languages_summary
- ↑ Features — NSIS . Дата обращения: 14 января 2007. Архивировано 16 октября 2015 года.
- ↑ Users — NSIS . Дата обращения: 14 января 2007. Архивировано 23 октября 2015 года.