Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #90, ИЮНЬ 2006 г.

Установка «В бой!»

ShadOS (shados@real.xakep.ru)

Хакер, номер #090, стр. 090-034-2


- Поддержка плагинов (стоит только поискать на sourceforge.net — и ты удивишься их разнообразию)

- Возможность создания web-инсталляторов (например, докачивающих зависимости с сайта производителя), обновление файлов установочного архива и т.д.

- Начиная с версии 2.01, NSIS можно собрать на любой платформе с поддержкой стандарта POSIX. Другими словами инсталляторы для Windows с помощью NSIS можно творить даже в Linux и FreeBSD, не используя эмулятор Wine.

Hello world!

Теперь всю эту функциональность нужно прочувствовать на себе. А поэтому оперативно приступаем к практике, в которой создадим своей первый установочный пакет. Параметры будущего инсталлятора можно описать в блокноте, но я все же предпочитаю более удобные средства. Например, специальный редактор скриптов для NSIS - HM NIS Edit. Итак, наш скрипт.

;Заставим надписи в инсталляторе отображаться на русском языке

;${NSISDIR} – путь к каталогу с установленным NSIS

LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"

;Имя инсталлятора

Name "Example1"

;Выходной файл инсталлятора

OutFile "Example1.exe"

;Каталог для установки по умолчанию

InstallDir $PROGRAMFILES\Example1

;Старници, отображаемые инсталлятором

;Описываем, какие страницы будут использоваться в инсталляторе

Page directory ;Страница выбора каталога для установки (рис.1)

Page instfiles ;Завершающее окно с логом работы (рис.2)

Section "" ;Единственная секция инсталлятора, поэтому имя можно не указывать ;Определяем путь инсталяционного каталога

SetOutPath $INSTDIR

;Определяем, какие файлы будут в этот каталог перемещены

File example.exe

;Если бы было необходимо скопировать несколько файлов, то разумнее использовать следующий шаблон

;File /r *.*

SectionEnd ;Конец секции

Разобраться в этой писанине не составит труда ввиду подробных комментариев, но на одном моменте я остановлюсь подробно. Путь к установочной директории указывается через системную переменную $PROGRAMFILES. Во время установки она автоматически заменится на C:\Program Files\, где C:\ - метка системного диска. Бесспорно удобная штука. К тому же список таких переменных довольно велик:

$COMMONFILES – разделяемые файлы (C:\Program Files\Common Files\)

$EXEDIR - папка, из которой был запущен инсталлятор

$WINDIR - корневой каталог Windows

$SYSDIR - системный каталог Windows

$TEMP – директория для хранения временных файлов

$STARTMENU – каталог главного меню

$DOCUMENTS - каталог "Мои документы"

$FONTS - каталог шрифтов

Теперь можно опробовать скрипт нашего инсталлятора в действии. Для этого нужно отдать команду на компиляцию. Ctrl-F9 — стандартный хоткей, актуальный как для HM NIS Edit, так и для стандартной GUI'шной оболочки MakeNSISW.

Дельные доработки

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

Назад на стр. 090-034-1  Содержание  Вперед на стр. 090-034-3
Hosted by uCoz