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

Nullsoft Scriptable Install System
Тип Інсталятор
Розробник Nullsoft
Стабільний випуск 2.46 (6 грудня 2009 р.)
Операційна система Microsoft Windows, POSIX
Мова програмування C++[1], C[1], Nullsoft Scriptable Install System[1] і PHP[1]
Ліцензія Ліцензія zlib
Онлайн-документація nsis.sourceforge.io/Docs/(англ.)
Репозиторій https://sourceforge.net/p/nsis/code/HEAD/tree/, https://github.com/kichik/nsis
Вебсайт nsis.sourceforge.net

Історія ред.

NSIS був розроблений для поширення Winamp. Він базується на попередньому продукті Nullsoft — PiMP (plugin Mini Packager), відомому також як SuperPiMP. Після версії 2.0a0, проект був переміщений на SourceForge.net, де до роботи над ним приєдналися і сторонні розробники. NSIS 2.0 був випущений через 2 роки.

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++, C, і Delphi. Плагіни можуть використовуватися для розширення функціональності та покращення інтерфейсу інсталятора. Плагіни можуть бути викликані в будь-якій частині коду NSIS скрипту.

З пакетом NSIS поставляється декілька плагінів, які дозволяють додавати нові сторінки, замінювати фонові зображення, завантажувати файли з інтернету, виконувати математичні обчислення, оновлювати файли та багато чого іншого.

Особливості[2] ред.

  • Дуже маленький розмір інсталяційного блоку (близько 34 кбайт).
  • zlib, bzip2 та LZMA-стиснення.
  • Гнучка система скриптів.
  • Багатомовність.
  • Підтримка плагінів.
  • Скрипт препроцесор.
  • Створення Web-інсталяторів.

Програми та ігри, що використовують NSIS[3] ред.

Редактори ред.

Скрипти NSIS є простими текстовими файлами і можуть бути створені з допомогою будь-якого текстового редактора. Однак розроблено декілька спеціальних програм, які полегшують процес створення скриптів:

NSIS Media Malware ред.

Назву NSIS має також компанія, що займається поширенням malware (шкідливих програм). Ймовірно, компанія вибрала собі таке ім'я, щоб здаватися соліднішою та законною, але це погано відбилося на репутації NSIS, яка не має ніякого відношення до цієї компанії. Деякі користувачі стверджували, що всі дистрибутиви, створені з допомогою NSIS, містять відповідну шкідливу програму. Насправді це не так, а наявність або відсутність зловмисного коду залежить від того, хто створює дистрибутиви і через які канали вони завантажуються.

Див. також ред.

Посилання ред.

Примітки ред.

  1. а б в г https://www.openhub.net/p/nsis/analyses/latest/languages_summary
  2. Features — NSIS. Архів оригіналу за 16 жовтня 2015. Процитовано 12 жовтня 2015.
  3. Users — NSIS. Архів оригіналу за 23 жовтня 2015. Процитовано 12 жовтня 2015.