kotkovets
09-12-2012, 12:02
http://nsis.sourceforge.net/mediawiki/skins/nsis/logo.gif
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. (http://nsis.sourceforge.net/Main_Page)
Описание:NSIS (Nullsoft Scriptable Install System) - профессиональная система для создания инсталляторов в среде Windows с октрытым исходным кодом. При своем малом размере система очень гибкая, и при с широкими возможностями. Генерируемый ею инсталлятор также имеет очень маленький размер и идеально подходит для распространения продукта через Интернет.
Текущая версия: NSIS 3.05 от 15 декабря 2019 года
Скачать (http://nsis.sourceforge.net/Download) | Архив сборок версии (http://sourceforge.net/project/showfiles.php?group_id=22049&package_id=15374)
Первая часть этой темы (http://forum.oszone.net/thread-67386.html)
Скачать первую часть этой темы одним архивом (ftp://tools.oszone.net/doc/NSIS%20-%20%D0%B2%D1%81%D0%B5%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D1%87%D0%B0%D1%81%D1%82%D1%8C_1. zip)
ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS (http://forum.oszone.net/thread-168287.html) - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В (http://av-mag.ru/doc/nsis.htm), зеркало (https://yadi.sk/i/UDni9G913UvvE7)
Документация
Официальное руководство (http://nsis.sourceforge.net/Docs)
Статья: создаем инсталлятор под Windows в NSIS (http://www.markelov.net/articles.php?lng=ru&pg=39)
Статья: Инсталляция by NSIS (http://www.compdoc.ru/bd/other/nsis/)
Примеры от K.A.V.
Кликабельный BrandingText (http://forum.oszone.net/post-1331929-364.html)
Картинки-превьюшки для радиокнопок (http://forum.oszone.net/post-1343128-395.html)
Утилиты разработчика
HM NIS EDIT - лучший редактор сценариев для NSIS с открытым исходным кодом (http://hmne.sourceforge.net/)
Reg2Nsis конвертор reg файлов в скрипт NSIS (http://nsis.sourceforge.net/Reg2Nsis_-_convert_registry_info_into_NSIS_commands)
ISS2NSI - конвертор скриптов Inno Setup в скрипты NSIS (http://prdownloads.sourceforge.net/hmne/iss2nsi10a1.zip?download)
Плагин для IDE Eclipse EclipseNSIS (http://nsis.sourceforge.net/EclipseNSIS_-_NSIS_plugin_for_EclipseEclipseNSIS). Сам Eclipse здесь: http://www.eclipse.org/
Mihov NSIS Helper - маленькая и простая утилита для визуального создания скриптов NSIS. (http://www.psenica.com/nsis/)
Расширение функциональности
Плагины и полезности к NSIS: http://nsis.sourceforge.net/Category:Plugins
Определение всех ОС WINDOWS (winver2.nsh) (https://yadi.sk/d/NbcEluV3i9LAk)
Работа с процессами (ProcessFunc.nsh) (http://forum.oszone.net/post-2390157-1284.html)
Интерфейс Venis GUI: http://www.spaceblue.com/products/venis
Интерфейс ExperienceUI GUI http://experienceui.xx0r.info/oldengine.php/experienceui/home
Пример:
http://pic.ipicture.ru/uploads/091125/23111/3G4gA1e3q5.png (http://ipicture.ru/)
Интерфейс SkinCrafter Plugin - http://www.skincrafter.com/
Пример:
http://www.skincrafter.com/img/tour/skin1.png
Инструкция по использованию (http://forum.oszone.net/post-1317606-267.html) от K.A.V. (http://forum.oszone.net/member.php?userid=60480)
Примеры скриптов на нашем форуме
Скрипт NSIS для перепаковки AIMP2+Сборки (http://forum.oszone.net/thread-101182.html)
Тема для Notepad++(пример парсинга XML) (http://forum.oszone.net/post-933509.html)
Достоинства
◦ Очень маленький размер установочного блока (около 34 Кбайт)
◦ zlib, bzip2 и LZMA-сжатие
◦ Гибкая система скриптов (спецально разработанная для инсталляторов)
◦ Поддержка многоязычности, точнее 53 языка, есть возможность ввода нового языка
◦ Поддержка плагинов
◦ Скрипт Препроцессор
◦ Создание Web-инсталляторов
Ещё немного полезной информации:
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-сжатие, многоязычность и имеет хорошую систему плагинов.
Версия 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 очень похож на интерфейс мастеров, он поддерживает splash screen, выбора языка, выбор компонентов для установки и более широкие возможности настройки по сравнению со своим предшественником. Пример:
# Пример скрипта с 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 поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и многое другое.
◦ Антивирус Касперского
◦ Qip
◦ 3DNA Desktop
◦ 7-Zip
◦ ATI Display Driver
◦ CDex
◦ Dev-C++
◦ DivX
◦ eMule FileZilla
◦ Google Picasa
◦ Google Talk
◦ Intel C (компилятор)
◦ IrfanView
◦ LightAllow
◦ LyX
◦ Miranda IM Mozilla Firefox 2.0
◦ NASA World Wind
◦ Notepad++
◦ OpenOffice.org для Windows
◦ Pidgin
◦ VLC Player
◦ Winamp
В настоящее время инсталляторы NSIS не могут быть полностью декомпилированы. Сам инсталлятор не содержит в себе никаких функций для того, чтобы извлечь сценарий и/или файлы без инсталляции. Это - выбор разработчика, доступны ли исходный текст и/или файлы для инсталлятора для публики или нет. Есть, однако, внешние инструментальные средства, которые позволяют это сделать. 7-zip поддерживает частичную распаковку NSIS инсталляторов с алгоритмом сжатия lzma или bzip. Так же существует мульти-архивный плагин для TotalCommander.
Небольшая заметка для разработчиков: используйте DCryptDll, если хотите скрыть некоторые файлы в вашей инсталляции.
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. (http://nsis.sourceforge.net/Main_Page)
Описание:NSIS (Nullsoft Scriptable Install System) - профессиональная система для создания инсталляторов в среде Windows с октрытым исходным кодом. При своем малом размере система очень гибкая, и при с широкими возможностями. Генерируемый ею инсталлятор также имеет очень маленький размер и идеально подходит для распространения продукта через Интернет.
Текущая версия: NSIS 3.05 от 15 декабря 2019 года
Скачать (http://nsis.sourceforge.net/Download) | Архив сборок версии (http://sourceforge.net/project/showfiles.php?group_id=22049&package_id=15374)
Первая часть этой темы (http://forum.oszone.net/thread-67386.html)
Скачать первую часть этой темы одним архивом (ftp://tools.oszone.net/doc/NSIS%20-%20%D0%B2%D1%81%D0%B5%20%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D1%87%D0%B0%D1%81%D1%82%D1%8C_1. zip)
ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов:
Справочник по NSIS (http://forum.oszone.net/thread-168287.html) - создан силами нашего сообщества.
Руководство пользователя. Перевод – Поляков А.В (http://av-mag.ru/doc/nsis.htm), зеркало (https://yadi.sk/i/UDni9G913UvvE7)
Документация
Официальное руководство (http://nsis.sourceforge.net/Docs)
Статья: создаем инсталлятор под Windows в NSIS (http://www.markelov.net/articles.php?lng=ru&pg=39)
Статья: Инсталляция by NSIS (http://www.compdoc.ru/bd/other/nsis/)
Примеры от K.A.V.
Кликабельный BrandingText (http://forum.oszone.net/post-1331929-364.html)
Картинки-превьюшки для радиокнопок (http://forum.oszone.net/post-1343128-395.html)
Утилиты разработчика
HM NIS EDIT - лучший редактор сценариев для NSIS с открытым исходным кодом (http://hmne.sourceforge.net/)
Reg2Nsis конвертор reg файлов в скрипт NSIS (http://nsis.sourceforge.net/Reg2Nsis_-_convert_registry_info_into_NSIS_commands)
ISS2NSI - конвертор скриптов Inno Setup в скрипты NSIS (http://prdownloads.sourceforge.net/hmne/iss2nsi10a1.zip?download)
Плагин для IDE Eclipse EclipseNSIS (http://nsis.sourceforge.net/EclipseNSIS_-_NSIS_plugin_for_EclipseEclipseNSIS). Сам Eclipse здесь: http://www.eclipse.org/
Mihov NSIS Helper - маленькая и простая утилита для визуального создания скриптов NSIS. (http://www.psenica.com/nsis/)
Расширение функциональности
Плагины и полезности к NSIS: http://nsis.sourceforge.net/Category:Plugins
Определение всех ОС WINDOWS (winver2.nsh) (https://yadi.sk/d/NbcEluV3i9LAk)
Работа с процессами (ProcessFunc.nsh) (http://forum.oszone.net/post-2390157-1284.html)
Интерфейс Venis GUI: http://www.spaceblue.com/products/venis
Интерфейс ExperienceUI GUI http://experienceui.xx0r.info/oldengine.php/experienceui/home
Пример:
http://pic.ipicture.ru/uploads/091125/23111/3G4gA1e3q5.png (http://ipicture.ru/)
Интерфейс SkinCrafter Plugin - http://www.skincrafter.com/
Пример:
http://www.skincrafter.com/img/tour/skin1.png
Инструкция по использованию (http://forum.oszone.net/post-1317606-267.html) от K.A.V. (http://forum.oszone.net/member.php?userid=60480)
Примеры скриптов на нашем форуме
Скрипт NSIS для перепаковки AIMP2+Сборки (http://forum.oszone.net/thread-101182.html)
Тема для Notepad++(пример парсинга XML) (http://forum.oszone.net/post-933509.html)
Достоинства
◦ Очень маленький размер установочного блока (около 34 Кбайт)
◦ zlib, bzip2 и LZMA-сжатие
◦ Гибкая система скриптов (спецально разработанная для инсталляторов)
◦ Поддержка многоязычности, точнее 53 языка, есть возможность ввода нового языка
◦ Поддержка плагинов
◦ Скрипт Препроцессор
◦ Создание Web-инсталляторов
Ещё немного полезной информации:
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-сжатие, многоязычность и имеет хорошую систему плагинов.
Версия 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 очень похож на интерфейс мастеров, он поддерживает splash screen, выбора языка, выбор компонентов для установки и более широкие возможности настройки по сравнению со своим предшественником. Пример:
# Пример скрипта с 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 поставляются несколько плагинов, позволяющих добавлять новые страницы, заменять фоновые изображения, скачивать файлы из Интернета, выполнять математические вычисления, обновлять файлы и многое другое.
◦ Антивирус Касперского
◦ Qip
◦ 3DNA Desktop
◦ 7-Zip
◦ ATI Display Driver
◦ CDex
◦ Dev-C++
◦ DivX
◦ eMule FileZilla
◦ Google Picasa
◦ Google Talk
◦ Intel C (компилятор)
◦ IrfanView
◦ LightAllow
◦ LyX
◦ Miranda IM Mozilla Firefox 2.0
◦ NASA World Wind
◦ Notepad++
◦ OpenOffice.org для Windows
◦ Pidgin
◦ VLC Player
◦ Winamp
В настоящее время инсталляторы NSIS не могут быть полностью декомпилированы. Сам инсталлятор не содержит в себе никаких функций для того, чтобы извлечь сценарий и/или файлы без инсталляции. Это - выбор разработчика, доступны ли исходный текст и/или файлы для инсталлятора для публики или нет. Есть, однако, внешние инструментальные средства, которые позволяют это сделать. 7-zip поддерживает частичную распаковку NSIS инсталляторов с алгоритмом сжатия lzma или bzip. Так же существует мульти-архивный плагин для TotalCommander.
Небольшая заметка для разработчиков: используйте DCryptDll, если хотите скрыть некоторые файлы в вашей инсталляции.