| Inno Setup
	Анастасия Маховикова
 
 Данная статья является попыткой донести первоначальные знания в области использования этого инструмента для написания инсталяционной рутины и ни в коем образе не претендует на звание "продвинутой".Inno Setup это свободная для использования программа. Ее создателем является Джордан Рассел (Jordan Russell). Впервые представлена в 1997 году. Ее можно свободно скачать.
 Основные черты:- поддерживает все 32-х битные версии Windows (95, 98, 2000, 2003, XP, Me, NT 4.0)
 - создает создание одного файла exe, что значительно облегчает процесс инсталяции Вашей программы
 - стандартный интерфейс Windows 2000/XP
 - ориентирован на пользователя (например, полный, минимальный, пользовательский вариант)
 - все инструменты для деинсталяции
 - инсталирование файлов: встроенная поддержка "deflate", bzip2, 7-zip LZMA файлы сжатия. Программа может сравнивать информацию о версии файла, перемещать используемые файлы; подсчет разделенных файлов (shared); регистрировать DLL/OCX/FNT/TLB и типовые библиотеки; инсталировать шрифты
 - проверяет, активны ли определенные программы
 - создание ярлыков быстрого доступа (например, через старт-меню или на рабочем столе)
 - осуществление записи в ini-файлы
 - встроенная машина для написания скриптов на языке Pascal
 - поддерживает многоязыковую инсталяцию
 - инсталяция и деинсталяция по умолчанию
 - весь код доступен (Borland Delphi 2.0-5.0)
 - защита пароля для setup
 - в случае отмены во время исполнения, все действия будут приведены в исходное состояние
 Существует Newsgroup-а, созданная автором (к сожалению, только на английском языке), где, как правило, можно быстро и компетентно получить ответ. Cамые простые и частые вопросы. Является ли эта программа совершенно бесплатной для использования в тoм числе и коммерческого?Программа является бесплатной. Однако на нее есть copyright, что описано в лицензии.
 Поддерживает ли Inno Setup MBCS (мультибайтовые наборы знаков)?Inno Setup 2.0.6 включает полную поддержку для MBCS. В более ранние версии последнее свойство не входит.
 Поддерживает ли программа web-инсталяцию?нет
 Скрипт.Это простой ASCII текстовый файл, пстроен на подобии INI. Скрипт разделен на секции, имена который пишутся в квадратных скобках []. Внутри секций существуют ключевые слова и указания, которые компилятор может читать и выполнять. Комментарии.Начинаются с точки с запятой в начале строки и могут быть помещены в любое место скрипта. Коментарии блоком не возможны, как впрочем и вынесение коментария в середину строки. Последнее допускается компилятором, но впоследтвие, при выполнение, ведет к ошибке.
 Секции.Порядок секций не имеет значения. Все они (за исключением [Setup]) являются произвольными. Ключевому слову значение присваивается при помощи знака равенства (=).
 Указания состоят из одного или нескольких параметров и их опций, а также флагов (flags). Параметр же в свою очередь состоит из имени, за которым следует двоеточие (:) и значения. Параметры, опции и флаги отделяются друг от друга точкой с запятой (;). Обзор секций:
 
| секция | значение |  
| [Setup] | сoдержит указания по поведению инсталяционной рутины, а также, как это должно выглядеть. Ключевые слова AppName, AppVerName и DefaultDirName являются обязательными. Все остальные - по необходимости |  
| [Files] | Здесь содержатся файлы для setup |  
| [Icons] | ярлыки (иконки) |  
| [Components] | Соотношение компонентов к типу инсталяционной рутины |  
| [Dirs] | разрешает создать новые пустые папки |  
| [INI] | делает записи в INI- файлы |  
| [InstallDelete] | первое действое при инсталяции, cистаксис соответствует секции [UninstallDelete] |  
| [Messages] | разрешает специфические изменения в тексте |  
| [Registry] | делает запись в регист |  
| [Run] | выполняет другие программы после того как данные успешно были исталированы, но еще до того как будет закрыто диалоговое окно |  
| [Tasks] | разрешает дополнитекльные действия в setup |  
| [Types] | устанавливает тип setup-а |  
| [UninstallDelete] | последняя операция при деинсталяции. Таким образом папки и/или файлы будут удалены |  
| [UninstallRun] | первая операция при деинсталяции. Систаксис соответствует секции [Run] |  
| [LangOptions] | содержит информацию о языке. как правило, не используется |  Inno работает внутри скрипта с различными предопределеными константами, которые, как правило, содержат пути (path). Способ написания: {имя}. Некоторые константы, такие как {app} и {group} могут/должны быть предопределены пользователем (см. пример ниже). Тот, кто сам желает определить константы, должен обратиться к припроцессеру Алекса Якимова (Alex Yackimoff). 
 
| константы | содержание | пример |  
| {win} | путь в директорию/папку Windows | C:\Windows |  
| {sys} | путь в системную папку Windows, в частности папку System32 | C:\Windows\System или C:\Windows\System32
 |  
| {app} | путь к собственной аппликации (программе) |  |  
| {pf} | путь к программной папке | C:\Programme |  
| {cf} | путь к общим данным | C:\Programme\Gemeinsame Dateien |  
| {dao} | cоответствует{cf}\Microsoft Shared\DAO | C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO |  
| {src} | путь к папке инсталявионной рутины, в момент выполнения setup | R:\ |  
| {group} | группа программ для стартового меню |  |  Примеры: Таким образом может быть написан комментарий; - Sample1.iss -
 ; Demonstrates copying 3 files and creating an icon.
 Обязательная часть[Setup]
 AppName=My Program
 AppVerName=My Program version 1.5
 AppCopyright=Copyright (C) 1997-2000 My Company, Inc.
 DefaultDirName={pf}\My Program
 DefaultGroupName=My Program
 UninstallDisplayIcon={app}\MyProg.exe
 Данная секция хоть и является производной, однако используется в большиинстве случаев. В данном случае копируются три файла в папку, путь в которую записан в переменную {app}[Files]
 Source: "MyProg.exe"; DestDir: "{app}"
 Source: "MyProg.hlp"; DestDir: "{app}"
 Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
 [Icons]Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
 После написания скрипта необходимо его откомпилировать. В этой небольшой статье я попыталась описать основные правила использования Inno Setup. Больше информации Вы можете получить на авторском сайте www.jrsoftware.org Источники:http://www.unofactura.de/inno.htm
 jrsoftware.innosetup
 jrsoftware.innosetup.code
 jrsoftware.innosetup.thirdparty
 www.innosetup.de.vu
 
 |