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 обладает рядом особенностей: маленький размер установочного блока (около 34 Кбайт); несколько методов сжатия файлов — zlib, bzip2 и LZMA; гибкая система скриптов; поддержка множества языков; расширение функциональности при помощи плагинов; скрипт-препроцессор; возможность создания веб-установщиков.
Программы и игры, использующие NSIS К наиболее известным проектам, использующим NSIS, относятся:
Антивирус Касперского ATI Display Driver CDex Dev-C++ DivX eMule EVE Online FileZilla FL Studio Google Picasa
Google Talk Hedgewars Intel C (компилятор) IrfanView LyX Miranda IM Mozilla Firefox 2.0 NASA World Wind Notepad++ OpenOffice.org для Windows
CherryPlayer Fiction Book Editor OpenVPN PascalABC.NET Pidgin Qt SDK VLC Player Winamp 0 A.D. Скретч (язык программирования) (исключаются версии 2.0 и 3.0 Xpy
Редакторы Скрипты NSIS — это обычные текстовые файлы с расширением «.nsi», которые можно создать с помощью любого текстового редактора. Тем не менее разработано несколько специальных программ, облегчающих процесс создания скриптов: — плагин для Eclipse, позволяющий редактировать, компилировать и тестировать NSIS скрипты; HM NIS EDIT — NSIS-редактор/IDE; Venis — визуальная среда для NSIS.
См. также Inno Setup WiX Smart Install Maker InstallShield
Примечания
Ссылки
Страница проекта NSIS на SourceForge Проект месяца SourceForge.net в январе 2006 Mihov’s freeware NSIS editor Русскоязычная страница форума oszone.net о NSIS
Категория:Свободные системы управления пакетами Категория:Программное обеспечение, написанное на C++ Категория:Программное обеспечение с лицензией zlib Категория:Переносимые приложения