ВВЕДЕНИЕ В NSIS
Об NSIS
Инсталлятор (программа установки) – это первый опыт
пользователя с вашим приложением. Медленная или неудачная установка программного
обеспечения – это одна из самых раздражающих компьютерных проблем. Следовательно,
быстрый и удобный инсталлятор является неотъемлемой частью вашего программного продукта.
NSIS (Nullsoft Scriptable Install System) – это инструмент,
который позволяет программисту создавать инсталляторы для Windows. Он распространяется
по открытой лицензии и полностью бесплатен для любого использования.
NSIS создаёт инсталляторы, которые способны выполнять установку, удаление (деинсталляцию),
установку системных настроек, извлечение файлов и т.п. Так как NSIS основан на файлах
сценариев (скриптах), вы можете полностью управлять каждой частью вашего инсталлятора.
Язык сценариев поддерживает переменные, функции, манипуляции со строками подобно
обычным языкам программирования, но разработан специально для создания инсталляторов.
Даже с учётом всех этих возможностей, NSIS является наименьшей из доступных систем инсталляции.
С параметрами по умолчанию он имеет размер заголовка всего 34 КБ.
Основные возможности NSIS
Маленький размер заголовка
NSIS создан маленьким, быстрым и эффективным. В то время как другие инсталляторы
часто добавляют заголовки в сотни килобайт или несколько мегабайт в ваши установочные данные,
полнофункциональный инсталлятор NSIS имеет в заголовке только 34 КБ.
Совместим со всеми основными версиями Windows
Вы можете создать простой инсталлятор, который совместим с Windows 95, Windows 98, Windows ME,
Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista.
Уникальные методы сжатия
Вы можете выбрать один из трёх методов сжатия файлов (ZLib, BZip2, LZMA).
Новый метод сжатия LZMA даёт лучшие результаты, чем любые другие распространённые методы.
Вам больше не нужно использовать большие самораспаковывающиеся архивы или другие приложения.
Сжатие включает 34 КБ заголовка.
Основан на сценариях
В отличие от других систем, которые могут генерировать только инсталляторы,
основанные на списке файлов и ключах реестра, NSIS имеет мощный язык сценариев.
Этот язык сценариев разработан для инсталляторов и содержит команды, которые помогают
вам выполнять множество задач установки. Вы можете легко добавить пользовательскую
логику и обработку различных обновлений, проверку версий и многое другое.
На NSIS Wiki вы можете найти больше информации.
Несколько языков в одном инсталляторе
Один инсталлятор может поддерживать множество языков интерфейса. Более 40 переводов
уже включены, но вы можете также создать файлы для вашего языка. RTL (с права на лево) языки,
такие как арабский и иврит, полностью поддерживаются.
Множество функций и проверок для целевой системы
Язык сценариев содержит команды, которые могут использоваться на целевой операционной системе.
От простых функций, таких как создание папки и до редактирования модификации файла в реестре,
модификации переменных среды окружения и перезагрузки системы. Применяя предоставляемые плагины,
вы даже можете использовать Windows API.
Диалоги пользователя и интерфейсы
Вы можете создавать собственные страницы мастера для получения вводимых пользователем данных
или интегрировать параметры конфигурации. NSIS включает в себя классический и современный
интерфейс мастера, но также возможно создать ваш собственный интерфейс пользователя.
Плагины
NSIS может быть расширен с помощью подключаемых модулей (плагинов), которые могут
быть подсоединены к инсталлятору. Плагины могут быть написаны на C, C++, Delphi или
других языках и могут быть использованы для выполнения задач инсталляции или
расширения интерфейса инсталлятора. Вы можете использовать плагин с помощью одной
строки в коде сценария. Плагины могут быть также сжаты подобно другим данным установки,
и будут подключены только когда вы используете предоставляемые в них функции.
Поддержка инсталляции через Интернет
Дистрибутив NSIS включает набор плагинов, которые позволяют вам загружать файлы из Интернета,
создавать Интернет-подключение, проверять наличие файлов и т.п.
Интеграция проекта, различные реализации и автоматическая сборка
Компилятор NSIS имеет мощный препроцессор. Это позволяет вам легко интегрировать
множество проектов в один инсталлятор или автоматически генерировать сборки инсталляции.
Вы можете также генерировать различные реализации, таких как демонстрационная и полная версии.
Легкочитаемые для человека форматы файлов
Формат сценариев NSIS и формат, используемый для диалоговых интерфейсов является лёгким,
документированным и «человекочитаемым». Поэтому вы можете редактировать ваши файлы в вашем
любимом редакторе. Это также позволяет автоматически генерировать сценарии.
Список возможностей
- Генерация автономного исполняемого файла инсталлятора
- Поддержка сжатия данных для ZLIB, BZIP2 и LZMA (файлы могут быть сжаты отдельно или вместе)
- Поддержка деинсталляции (инсталлятор может генерировать деинсталлятор)
- Настраиваемый пользовательский интерфейс (диалоги, шрифты, цвет фона, значки, текст, галочки, рисунки и т.п.)
- Классический и современный интерфейс мастера установки
- Полностью многоязыковый, поддержка для множества языков в одном инсталляторе. Более 40 переводов доступны, но вы можете также создать свой
- Системные страницы: вы можете добавить стандартные страницы мастера установки или пользовательские страницы
- Пользователь выбирает компоненты установки, дерево выбора компонентов
- Множество конфигураций установки (обычно минимальная, типовая и полная) и пользовательская конфигурация
- Инсталлятор проверяет сам себя, используя контрольные суммы CRC32
- Небольшой размер заголовка сжатых данных (32 КБ с опциями по умолчанию)
- Возможность отображения лицензионного соглашения в текстовом или RTF-формате
- Возможность получения каталога назначения из реестра
- Простое использование системных плагинов (множество плагинов для создания пользовательских диалогов, Интернет-соединений, загрузки через HTTP, фалов исправлений, вызовы Win32 API и т.п. включены в систему)
- Инсталляторы могут иметь размер до 2 ГБ
- Дополнительный «тихий» режим для автоматических установок
- Препроцессор с поддержкой определения символов, макросов, условной компиляции, стандартных переопределений
- Прекрасный опыт кодирования с элементами PHP и ассемблера (включая пользовательские переменные, стек, управление потоком и т.п.)
- Инсталляторы имеют свой собственный VMs. Что позволяет вам писать код, который поддерживает:
- Извлечение файла (с настраиваемой перезаписью параметров)
- Копирование файла/каталога, переименование, удаление, поиск
- Вызов подключаемых модулей DLL
- Управление регистрацией/дерегистрацией DLL/ActiveX
- Исполняемое выполнение (выполнение в командной строке и ожидание опций)
- Создание ярлыков
- Чтение/настройка/перечисление/удаление ключей реестра
- Чтение/запись INI-файла
- Чтение/запись универсального текстового файла
- Мощные операции со строками и целыми числами
- Поиск окна, основанный на имени класса или заголовке
- Управление интерфейсом пользователя (настройки шрифта/текста)
- Отправка сообщений окну
- Взаимодействие с пользователем с помощью блоков сообщений или настройки страниц
- Ветвления, сравнения и т.п.
- Проверка ошибок
- Поддержка перезагрузки, включая удаление или переименование при перезагрузке
- Команды управления поведением инсталлятора (такие как показать/скрыть/ожидать/и т.п.)
- Пользовательские функции в сценариях
- Функции обратного вызова для действий пользователя
- Совершенно бесплатный для любых целей. См. лицензии.
- И многое другое