В ISPP директивы могут быть использованы двумя методами: простым и встроенным.
Простой метод заключается в том, что строка с директивой начинается с символа "решётки" (#). Например, установим переменную с именем MyAppName и присвоим ей значение "My Program":
#define MyAppName "My Program"
Встроенный метод позволяет подключить директиву, которая была установлена ранее. В этом случае директива записывается между начальными символами {# (открывающая фигурная скобка плюс решётка) и завершающим символом } (закрывающая фигурная скобка). Например, присвоим директиве IS AppName значение ранее установленной переменной MyAppName (см. пример выше):
[Setup] AppName={#MyAppName}
При выполнении сценария вместо выражения {#MyAppName} будет подставлено значение "My Program" из переменной MyAppName. Таким образом, директиве IS AppName будет присвоено значение "My Program".
Как видно из приведенного выше примера, не обязательно указывать имя директивы emit, если она используется встроенным методом. Поэтому выражение {#MyAppName} является сокращенной записью {#emit MyAppName}.
При описании директив используются следующие условные обозначения:
() | Группа объектов. |
[] | Вспомогательный объект или группа объектов. |
| | Взаимоисключающие объекты. |
... | Предыдущий объект или группа объектов, которые могут быть повторены. |
token | Зарезервированное слово или символ(ы). Является терминальным объектом и должен вводиться так, как представлен, без каких-либо изменений или модификаций. |
<token> | Нетерминальный объект. Может представлять собой выражение, формулу, имя идентификатора, переменную. |