Nullsoft Scriptable Install System

(перенаправлено с «NSIS»)

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

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.09 (1 июля 2023 года[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]:

Редакторы править

Скрипты 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 года.

Ссылки править