Nullsoft Scriptable Install System
Nullsoft Scriptable Install System | |||
---|---|---|---|
![]() | |||
![]() | |||
Тип | Установщик | ||
Разработчик | Nullsoft | ||
Написана на | C++[2], Си[2], Nullsoft Scriptable Install System[2] и PHP[2] | ||
Операционные системы | Microsoft Windows, POSIX | ||
Первый выпуск | 31 июля 2000[1] | ||
Последняя версия | 3.04 (15 декабря 2018) | ||
Репозиторий |
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 был выпущен в свет 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++, С, и Delphi. Плагины могут быть использованы для улучшения функциональности и интерфейса установщика. Плагины могут быть вызваны в любой части кода NSIS скрипта.
С пакетом NSIS поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и многое другое.
Особенности[3]
- Очень маленький размер установочного блока (около 34 Кбайт)
- zlib, bzip2 и LZMA-сжатие
- Гибкая система скриптов
- Мультиязычность
- Поддержка плагинов
- Скрипт препроцессор
- Создание Web-установщиков
Программы и игры, использующие NSIS[4]
|
|
Редакторы
Скрипты NSIS представляют собой простые текстовые файлы и могут быть созданы с помощью любого текстового редактора. Однако разработано несколько специальных программ, облегчающих процесс создания скриптов:
- Проект EclipseNSIS на сайте SourceForge.net — плагин для Eclipse, позволяющий редактировать, компилировать и тестировать NSIS скрипты;
- HM NIS EDIT — NSIS-редактор/IDE;
- Venis — визуальная среда для NSIS.