Формат сценария

Сценарии Inno Setup структурно разделёны на секции. Каждая секция управляет отдельным аспектом установки. Секция начинается с указания её имени, которое заключается в квадратные скобки []. Внутри каждой секции может быть любое количество записей.

Существует два основных типа секций: [Setup] – содержит имена и значения директив (в формате Директива=Значение), и [Files] – содержит записи со списком параметров.

Например:

[Setup]
AppName=My Program

[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"

Обратите внимание, что в сценарии можно указать несколько секций с одним и тем же именем.

В тексте сценария можно размещать "комментарии" (которые игнорируются компилятором), поместив точку с запятой в начале строки. Например:

; Это комментарий. Здесь можно дать пояснение команде или коду...

Поддерживается C-подобная директива #include, которая позволяет вставить в сценарий строки из указанного файла в позицию директивы #include. Её синтаксис следующий:

#include "filename.txt"

Если имя файла не содержит полного пути, компилятор будет искать указанный файл в том же каталоге, что и файл сценария, который содержит директиву #include. В имени файла можно указать приставку "compiler:", тогда поиск файла будет выполнен в каталоге компилятора.

Также поддерживается директива #preproc, которая определяет использование встроенного препроцессора, поддерживающего только вышеуказанную директиву #include, или же использование препроцессора Inno Setup (ISPP), который поддерживает множество других директив. Её синтаксис следующий:

#preproc builtin
#preproc ispp

По умолчанию сценарии используют ISPP, если он доступен, а файлы .isl использует встроенный препроцессор.

Если используется Unicode, то файлы сценариев обязательно должны быть в кодировке UTF-8.

См. также:

Параметры в секциях
Константы
Общие параметры
Параметры секций [Components] и [Tasks]
Секция [Setup]
Секция [Types]
Секция [Components]
Секция [Tasks]
Секция [Dirs]
Секция [Files]
Секция [Icons]
Секция [INI]
Секция [InstallDelete]
Секция [Languages]
Секция [Messages]
Секция [CustomMessages]
Секция [LangOptions]
Секция [Registry]
Секция [Run]
Секция [UninstallDelete]
Секция [UninstallRun]
Код на языке Паскаль: Введение
Препроцессор Inno Setup: Введение