Nullsoft Scriptable Install System
Nullsoft Scriptable Install System (NSIS) — система створення програм-інсталяторів для Microsoft Windows з відкритим початковим кодом, створена компанією Nullsoft, яка заснована розробниками Winamp. NSIS створений як альтернатива InstallShield, призначеного для комерційних продуктів.
NSIS інсталятор | |
Тип | Інсталятор |
---|---|
Розробник | Nullsoft |
Стабільний випуск | 2.46 (6 грудня 2009 р.) |
Версії | 3.06.1 (31 липня 2020) |
Репозиторій | https://sourceforge.net/p/nsis/code/HEAD/tree/, https://github.com/kichik/nsis |
Операційна система | Microsoft Windows, POSIX |
Мова програмування | C++[1], C[1], Nullsoft Scriptable Install System[1] і PHP[1] |
Ліцензія | Ліцензія zlib |
Вебсайт | nsis.sourceforge.net |
Nullsoft Scriptable Install System у Вікісховищі |
Історія
NSIS був розроблений для поширення Winamp. Він базується на попередньому продукті Nullsoft — PiMP (plugin Mini Packager), відомому також як SuperPiMP. Після версії 2.0a0, проект був переміщений на SourceForge.net, де до роботи над ним приєдналися і сторонні розробники. NSIS 2.0 був випущений через 2 роки.
NSIS версії 1 був дуже схожим на класичний Windows Installer, але він був більш керованим з допомогою скриптів та підтримував інші формати стиснення. NSIS версії 2 підтримує новий графічний інтерфейс користувача, LZMA-стиснення, багатомовність має хорошу систему плагінів.
Скрипт
Компілятор 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 є простими текстовими файлами і можуть бути створені з допомогою будь-якого текстового редактора. Однак розроблено декілька спеціальних програм, які полегшують процес створення скриптів:
- EclipseNSIS на SourceForge.net — плагін для Eclipse, який дозволяє редагувати, компілювати та тестувати NSIS скрипти;
- HM NIS EDIT — NSIS-редактор/IDE;
- Venis — візуальне середовище для NSIS.
NSIS Media Malware
Назву NSIS має також компанія, що займається поширенням malware (шкідливих програм). Ймовірно, компанія вибрала собі таке ім'я, щоб здаватися соліднішою та законною, але це погано відбилося на репутації NSIS, яка не має ніякого відношення до цієї компанії. Деякі користувачі стверджували, що всі дистрибутиви, створені з допомогою NSIS, містять відповідну шкідливу програму. Насправді це не так, а наявність або відсутність зловмисного коду залежить від того, хто створює дистрибутиви і через які канали вони завантажуються.
Див. також
- Inno Setup
- WiX
- Smart Install Maker
- InstallShield
- Windows Installer
Посилання
- Nullsoft Scriptable Install System на SourceForge.net
- Сторінка проекту NSIS на SourceForge
- Проект місяця SourceForge.net у січні 2006
- Mihov’s freeware NSIS editor
- ExperienceUI for NSIS[недоступне посилання з лютого 2019] — підтримка скінів
- Російськомовна сторінка форуму oszone.net о NSIS