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.10 (30 марта 2024 года[2]) | ||
Репозиторий |
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.
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]:
|
|
- Скретч (язык программирования) (исключаются версии 2.0 и 3.0
Редакторы
[править | править код]Скрипты NSIS — это обычные текстовые файлы с расширением «.nsi», которые можно создать с помощью любого текстового редактора. Тем не менее разработано несколько специальных программ, облегчающих процесс создания скриптов:
- Проект EclipseNSIS на сайте SourceForge.net — плагин для Eclipse, позволяющий редактировать, компилировать и тестировать NSIS скрипты;
- HM NIS EDIT — NSIS-редактор/IDE;
- Venis — визуальная среда для NSIS.
См. также
[править | править код]Примечания
[править | править код]- ↑ NSIS version history
- ↑ Changelog and Release Notes . nsis.sourceforge.io. Дата обращения: 28 сентября 2021. Архивировано 28 сентября 2021 года.
- ↑ 1 2 3 4 https://www.openhub.net/p/nsis/analyses/latest/languages_summary
- ↑ Features — NSIS . Дата обращения: 14 января 2007. Архивировано 16 октября 2015 года.
- ↑ Users — NSIS . Дата обращения: 14 января 2007. Архивировано 23 октября 2015 года.