Что такое программа nsis

Рано или поздно любой программист сталкивается с проблемой создания дистрибутивов своего детища. Специально для решения этой проблемы в мире (и в Интернете в частности) существует ряд программ которые предназначены для решения этой проблемы. Сегодня речь пойдет, об одном представителе программ семейства инсталляторов – NSIS.

Инсталляторы – для чего они нужны

Давно прошли те времена, когда для работы с программой надо было всего лишь переписать ее в удобный для вас каталог и запустить. При этом не требовалось никакой дополнительной настройки системы и все работало как надо. Сегодня же объёмы программ разрослись до невероятных (по тем временам) мерок, а использование новых технологий привело к тому, что одна программа разбита на множество модулей, которые зачастую раскиданы по всему диску, а отсутствие одного из них непременно приводит к неправильному или полному прекращению функционирования программы.

Именно для того, чтоб правильно настроить систему и «разбросать» все файлы в нужные каталоги, компьютерное общество изобрело программы-инсталляторы.

NSIS_Error — Решение

Nullsoft Scriptable Install System

Или попросту NSIS – один из лучших представителей программ-инсталяторов. И не потому, что он создан всемирно известной группой Nullsoft (создатель WinAMP). А в первую очередь потому, что он – простой в использовании, быстрый, многофункциональный и бесплатный инсталлятор. Возможно этими свойствами обладает не один NSIS, к примеру всеми любимая Microsoft тоже сделала вклад в развитие бесплатных инсталляционных пакетов выставив на SourceForge.net исходники своего инсталлятора Windows Installer XML (WiX), но здесь стоит сказать, что этот пакет в обязательном порядке требует наличия на компьютере .NET Framework которым располагают не все программисты (в том числе и я). Еще одно замечание, которое можно отнести как к плюсам так и к минусам этой программы это использование в качестве базового формата программы формата XML. Чтоб все меня поняли приведу пример описания инсталляции программы описанный на языке WiX:

При использовании же пакета NSIS примерно то же описание будет выглядеть так:

И при этом после компиляции схемы NSIS мы получаем уже готовый модуль исполнения, а при использовании WiX – только объектный файл который потом надо еще раз обработать уже другим приложением.

Теоретические основы

Итак после небольшого вступительного слова перейдем к изучению основ NSIS. Для этого нам понадобится сам пакет NSIS 2.0. И небольшая программка, которую мы будем инсталлировать. Я для примера взял систему складского учёта для мест розничной торговли, которая для работы использует СУБД Firebird в качестве хранилища данных.

Для ясности отмечу, что она использует механизм dbExpress для доступа к СУБД, и по этому кроме самого Firebird-a требует наличия в директории C:WindowsSystem файлов midas.dll и dbexpint.dll. Естественно на компьютере простого пользователя вряд ли найдутся такие файлы (если конечно он не устанавливал еще какие-то программы отечественных производителей), и их естественно необходимо включить в создаваемый дистрибютив.

Выбивает ОШИБКУ в всплывающем окне уведомления NSIS ERROR при установке программы игры в Windows 7 8

Сам инсталляционный пакет создается на основе файла описания процесса инсталляции который имеет структуру показанную на рис.1.

  • Название проекта
  • Инсталляционная директория по умолчанию
  • Картинка, которая будет висеть в окне инсталляции
  • Общий вид и поведение окна инсталляции
  • Настройки показа лицензионных соглашений и др.

Секция страниц отвечает за список этапов которые будут отображаться в процессе инсталляции и деинсталяции приложения. Список этих страниц задается соответственно командами Page и UninstPage . Кроме того есть возможность расширенного контроля за отображением страниц с использованием команд PageEx и PageCallback.

Секция языков отвечает за объявления языков на каких будет проводится инсталляция, здесь возможна либо ручная настройка необходимых языков, либо автоматический подбор языка интерфейса из всех включенных в пакет языков.

Инсталляционная секция – это главная секция пакета. Здесь описываются все возможные варианты инсталляции, объявления файлов, команды для создания директорий и ключей реестра и другие всевозможные настройки. При объявлении секций инсталляции используются ключевые слова Section и SectionEnd между которыми и располагаются все другие команды. Естественно что в разных секциях должны располагаться разные, относительно независимые, компоненты (в нашем примере это собственно программа и СУБД Firebird). На основании этих данных инсталлятор даст возможность пользователю выбрать, какие именно компоненты надо установить(см. рис.2).

Кроме того, есть возможность объявления вложенных подсекций, которые будут вести себя на подобии составных объектов (к примеру установить только программу, а помощь не устанавливать и т.п.).

Читайте также:
Сколько стоят программы для такси

Раздел описаний . В этом разделе подаются описания всех устанавливаемых модулей, которые будут появляться в диалоге выбора компонентов инсталляции (см. рис.2). Здесь в частности имеется возможность написания разных заголовков для разных языков, для разных секций и разных подсекций.

Деинсталяция – предназначена для описания работ проводимых программой при удалении вашего приложения с системы. Как и инсталляционный раздел деинсталяция также может иметь несколько подразделов в которых описывается процесс удаления разных компонентов приложения.

Практика

Для получения и закрепления практических навыков мы воспользуемся любым простым текстовым редактором который не вставляет разных символов форматирования в текст.

Исходный файл

В этом редакторе мы создадим файл «APM.nsi» в котором подробно изложим весь процесс инсталляции от начала и до конца.

Сперва запишем название нашего пакета а также файл в который будут записаны наша программа и сопутствующие ей документы. Здесь мы зададим инсталляционную директорию которая будет предложена по умолчанию, метод сжатия, которым будет обработан файл, а также вставим макросы которые задают вид страниц по умолчанию:

В раздел языков мы вставим макрос для поддержки русского языка:

Кроме русского, украинского, английского языков пакет NSIS поддерживает еще 37 языков дальнего и ближнего зарубежья которые входят в базовую поставку и не требуют дополнительных затрат на скачивание их с интернета.

В инсталляционной секции мы объявим две подсекции, которые будут отвечать соответственно за установку главной программы и СУБД, а также дополнительных модулей:

Здесь мы сперва задаем директорию в которую будут записаны все файлы объявленые после нее (команда SetOutDir ). Теперь к этой директории можно обращаться через переменную $OUTDIR . Далее – отдаем приказ на копирование в инсталляционный пакет всех файлов находящихся в директории D:ProjectsDelphiProjectsFirebirdbin (обратите внимание, что система допускает использование символов wildcards, что значительно уменьшает код и выглядит более наглядно). Следующая строка записывает в директорию программу для деинсталяции приложения. Затем мы используем команду WriteRegStr для создания раздела нашей программы в системном реестре.

В следующей подсекции мы также устанавливаем директорию в которую будет проводится запись дополнительный программ. Далее выбираем файлы midas.dll и dbexpint.dll и помещаем их в пакет (при инсталляции они появятся в директории нашей программы). После этого мы записываем СУБД Firebird и по команде ExecWait запускаем ее и ждем ее окончания. В конце секции мы удаляем файл с СУБД из директрии нашей программы.

В раздел описаний мы поместим две строки, которые будут кратко характеризировать наши компоненты:

В результате мы получим текст изображенный на рис.3,4. Как видно из текста для присвоения этих описаний нашим секциям мы используем их имена заданные при объявлении соответствующих секций.

Последняя – секция деинсталяции . Эта секция будет выполнена только при запуске файла Uninstall.exe , который мы сформировали в разделе инсталляции. Суда мы записываем все команды по удалению файлов, директорий, и очистке реестра:

Здесь также можно включить код, который бы запустил и деинсталлятор для Firebird . Но мы не будем этого делать сознательно. А вдруг пригодится.

Компиляция

Так, файл инсталляции мы написали. Теперь же нам предстоит собрать из него экзешник. Для этого в составе пакета NSIS входят два приложения: makensis.exe и makensisw.exe. Первое – работает из командной строки и подойдет тем, кто пользуется для сборки своих приложений утилитой make или подобными ей. Второе – полноценное Windows – приложение.

Сборка нашего пакета происходит в считанные минуты. Мой пакет размером в 4Мб при использовании самого крутого LZMA сжатия собирался за 58,2с. При этом размер дистрибутива составил 4.65Мб, а при стандартной упаковке архива pkzip-ом с таким же содержимым результат составил – 4.73Мб.

Кроме этого компилятор позволяет выбирать между разными методами сжатия: zlib, bzip2, lzma. Есть также вариант автоматического выбора наилучшего упаковщика и использование упаковщика указанного в исходном файле.

Послесловие

Использование программ-инсталляторов сегодня – это уже не дань моде, а порой единственная возможность донести своё творение до конечного пользователя. В этой категории программного обеспечения одним из наиболее простых и понятных в работе является основанный на бесплатной GNU лицензии пакет NSIS который предлагает массу разных способов установки приложения на клиентскую машину. А применение при его создании плагинов позволяет еще больше раздвинуть границы его применения.

  • 06.07 — «Яндекс Браузер» научился кратко пересказывать тексты с помощью YandexGPT
  • 06.07 — Россиянам пообещали полный доступ к цифровому рублю к 2025–2027 году
  • 06.07 — Google заявила о достижении квантового превосходства — квантовый компьютер решил задачу в 220 млн раз быстрее обычного
  • 04.07 — Доступен язык программирования Perl 5.38.0 с поддержкой классов
  • 04.07 — Microsoft грозит антимонопольное расследование в Европе за интеграцию Teams в Office
  • 04.07 — Продажи смартфонов в России взлетели на 40 % и вернулись к уровню 2021 года — рынок заполонили китайские модели
  • 04.07 — Представлен смартфон Liberty Phone, продолжающий развитие Librem 5
  • 01.07 — Oracle опубликовал систему автоматической оптимизации параметров ядра Linux
  • 01.07 — Искусственный интеллект будет учиться принимать быстрые и точные решения у пчёл
  • 01.07 — «Яндекс.Маркет» зарегистрировал бренд Lunnen для выпуска компьютерной техники и аксессуаров
  • 01.07 — Рыночная капитализация Apple превысила $3 трлн
  • 01.07 — Судьба сделки Microsoft и Activision на $69 млрд оказалась в руках американского судьи
  • 01.07 — «Яндекс» и «Ланит» решили продать свои доли в совместном предприятии по производству серверов OpenYard
  • 01.07 — МКС перестанет существовать в нынешнем виде после 2030 года, заявил глава «Роскосмоса»
  • 01.07 — В WhatsApp появился прямой способ переноса истории чатов между смартфонами через QR-код
  • 28.06 — В реестр отечественного ПО могут просочиться иностранные продукты, если не принять меры
  • 28.06 — Windows 11 позволит авторизовываться на сайтах по отпечатку пальца или скану лица
  • 28.06 — Team Group представила DDR5 и SSD, способные пережить нагрев до +105 °C
  • 28.06 — AMD представила царь-FPGA VP1902, самую большую в мире чиплетную ПЛИС для разработки новых чипов
  • 26.06 — Представлен релиз ядра Linux 6.4
Читайте также:
Как установить на телевизор программу винк

Источник: citforum.ru

ВВЕДЕНИЕ В 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-файла
  • Чтение/запись универсального текстового файла
  • Мощные операции со строками и целыми числами
  • Поиск окна, основанный на имени класса или заголовке
  • Управление интерфейсом пользователя (настройки шрифта/текста)
  • Отправка сообщений окну
  • Взаимодействие с пользователем с помощью блоков сообщений или настройки страниц
  • Ветвления, сравнения и т.п.
  • Проверка ошибок
  • Поддержка перезагрузки, включая удаление или переименование при перезагрузке
  • Команды управления поведением инсталлятора (такие как показать/скрыть/ожидать/и т.п.)
  • Пользовательские функции в сценариях
  • Функции обратного вызова для действий пользователя

Источник: av-mag.ru

NSIS — программа для создания инсталлятора

Бесплатная программа для создания инсталлятора NSIS описание

Бесплатная программа для создания инсталлятора NSIS (Nullsoft Scriptable Install System) позволяет создавать профессиональные установщики приложений. Возможности программы достаточно велики, от настройки проверки целостности до поддержки веб-установки. Пожалуй, единственным недостатком, который может оказаться сложным для начинающих пользователей, это необходимость все прописывать текстом. Однако, у программы есть свой текстовый редактор с заготовками и возможностью составлять и просматривать шаги инсталлятора через мастер (окошки).

В целом, программа NSIS это отличный инструмент для создания инсталляторов профессионального качества.

Бесплатная программа для создания инсталлятора NSIS скриншоты

Чтобы вам было легче ознакомиться с интерфейсом и не тратить интернет трафик, время и силы попусту, предлагаем вам взглянуть на имеющуеся снимки экрана. Бесплатная программа для создания инсталлятора NSIS скриншоты :

Скачать бесплатно NSIS

Бесплатная программа для создания инсталлятора NSIS основные возможности (характеристики)

Своим пользователям бесплатная программа для создания инсталлятора NSIS предлагает следующие возможности:

  • Многоязычный интерфейс полученных инсталляторов
  • Разного уровня сложности диалоги и интерфейсы
  • Совместимость со всеми главными версиями Windows, так что вы можете не опасаться проблем совместимости
  • Маленький размер готового установщика
  • Поддержка веб-установки и патчинга файлов.
  • Можно создавать разные сборки в одном установщике (Lite, Full и т.д.)

На сайте Ida-Freewares.Ru вы всегда сможете найти всю необходимую информацию, страницу загрузки и официальный сайт разработчика. Помните, скачать бесплатную программу для создания инсталлятора NSIS с сайта разработчика (данный сайт не является таковым) — это всегда верный ход. К сожалению, несмотря на проверку файлов антивирусами, мы не можем дать вам 100% гарантии, что файлы не инфицированы. Всегда проверяйте загружаемые файлы из Интернета на наличие вирусов!

Плюсы Большое количество функций — небольшой размер инсталлятора — пользовательские диалоги — возможность подключать плагины
Минусы Без графического интерфейса — не просто в освоении — нет своего редактора
Разработчик Nullsoft
Страница загрузки http://nsis.sourceforge.net/Download
Размер 1,5 Мб
Версия 2.51 (3.0 rc1)
Лицензия Бесплатно без ограничений
Версия ОС Windows 10, 8.1, 8, 7, Vista, XP
Поддержка 64 бит Поддерживаются 64-разрядные ОС
Портативная
Информация

☕ Понравился обзор? Поделитесь с друзьями!

  • Inno Setup
  • Ghost Installer Free

Источник: ida-freewares.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru