Nullsoft Scriptable Install System

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


1. Історія

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

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


1.1. POSIX

Версія 2.01 була першою версією, підтримуючої компіляцію на будь-який з POSIX -платформ. Це дозволило створювати Windows -установники на GNU / Linux і FreeBSD без використання емулятора Wine. На даний момент підтримується компіляція тільки для Windows.

2. Скрипт

Компілятор NSIS - програма makensis - компілює скрипти в виконуваний код. Кожна строчка скрипта містить одну команду. Приклад:

 # Приклад скрипта  Name  "Example1"  OutFile  "Example1.exe"  InstallDir  "$ PROGRAMFILES \ Example1"  Page  Directory  Page  InstFiles  Section  SetOutPath  $ INSTDIR  File  .. \ Makensis.exe  SectionEnd 

3. 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 

4. Плагіни

NSIS може бути розширений за допомогою плагінів, які можуть бути написані на C + +, Сі, і Delphi. Плагіни можуть бути використані для поліпшення функціональності і інтерфейсу установника. Плагіни можуть бути викликані в будь-якій частині коду NSIS скрипта.

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


5. Особливості [1]

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

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


7. Редактори

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


8. NSIS Media Malware

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


Примітки

  1. Features - NSIS - nsis.sourceforge.net / Features
  2. Users - NSIS - nsis.sourceforge.net / Users