Nullsoft Scriptable Install System

Nullsoft Scriptable Install System
Логотип программы Nullsoft Scriptable Install System
Скриншот программы 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 (англ.)
Логотип Викисклада Медиафайлы на Викискладе

Nullsoft Scriptable Install System (NSIS) — система создания установочных программ для Microsoft Windows с открытым исходным кодом, разработанная компанией Nullsoft — автором плеера Winamp. NSIS был задуман как альтернатива InstallShield, предназначенного для коммерческих продуктов.

Изначально NSIS был спроектирован для распространения Winamp. Он основан на предыдущем продукте Nullsoft — PiMP (plugin Mini Packager), иначе известном как SuperPiMP. После версии 2.0a0 проект был перемещён на SourceForge.net, где к работе над ним присоединились и сторонние разработчики. Два года спустя появился NSIS 2.0.

NSIS версии 1 очень похож на классический Windows Installer, но он был более управляемым с помощью скриптов и поддерживал другие форматы сжатия. NSIS версии 2 поддерживает новый графический интерфейс пользователя, LZMA-сжатие, многоязычность и имеет развитую систему плагинов.

Версия 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]:

Скрипты NSIS — это обычные текстовые файлы с расширением «.nsi», которые можно создать с помощью любого текстового редактора. Тем не менее разработано несколько специальных программ, облегчающих процесс создания скриптов:

  • Проект EclipseNSIS на сайте SourceForge.net — плагин для Eclipse, позволяющий редактировать, компилировать и тестировать NSIS скрипты;
  • HM NIS EDIT — NSIS-редактор/IDE;
  • Venis — визуальная среда для NSIS.

Примечания

[править | править код]
  1. NSIS version history
  2. Changelog and Release Notes. nsis.sourceforge.io. Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
  3. 1 2 3 4 https://www.openhub.net/p/nsis/analyses/latest/languages_summary
  4. Features — NSIS. Дата обращения: 14 января 2007. Архивировано 16 октября 2015 года.
  5. Users — NSIS. Дата обращения: 14 января 2007. Архивировано 23 октября 2015 года.