Препроцессор Inno Setup: #include

Синтаксис

include-directive: (include | +) < <filename> >
(include | +) <expr>

Описание

Выполняет подключение к данным вывода препроцессора указанного файла. Если используется файл Unicode, то он обязательно должен быть в кодировке UTF-8 (с или без маркера BOM).

Если имя файла заключено в угловые скобки, то ISPP выполняет его поиск в текущем каталоге включаемых файлов (задаваемом с помощью директивы pragma), а затем по пути, указанному в переменной окружения INCLUDE. По умолчанию в качестве текущего каталога используется каталог компилятора.

Если имя файла представляет собой выражение (например, заключено в кавычки), ISPP сначала ищет его в каталоге, где находится текущий файл, затем в каталоге, где расположен файл, включивший в себя текущий файл, и так далее. Наконец поиск продолжается в каталоге, заданном в переменной SourcePath. Если файл не найден, ISPP выполняет поиск по тем же двум путям, что и в случае использования угловых скобок, и в последнюю очередь — в каталоге компилятора.

Если имя файла начинается с .\ или ..\, путь является относительным по отношению к каталогу, в котором находится текущий файл. Если имя начинается с compiler:, путь является относительным по отношению к каталогу компилятора. Если же начинается с userdocs:, путь является относительным по отношению к папке "Мои документы" текущего пользователя. В таких случаях ISPP не выполняет поиск в других каталогах.

Директиву include нельзя использовать встроенным методом.

Примеры

// Подключаем к сценарию дополнительный файл file.iss
#include <file.iss>

// Подключаем файл file.iss, который находится в каталоге с:\dir
#include "c:\dir\file.iss"

// Подключаем файл common.iss, путь к которому определяем
// через встроенную переменную CompilerPath.
// К полученной строке пути при помощи функции
// AddBackslash добавляем обратную косую черту
// для формирования завершенной строки к папке.
#include AddBackslash(CompilerPath) + "common.iss"

См. также:

file
sub