Секция [Components]

Эта секция не является обязательной. Она определяет все компоненты, которые программа установки покажет на странице "Выбор компонентов" для настройки типа установки.

Сама по себе эта секция ничего не делает: она должна быть "связана" с другими записями инсталляции. Смотрите раздел справки "Параметры секций [Components] и [Tasks]".

Пример секции [Components]:

[Components]
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Help Files"; Types: full
Name: "help\english"; Description: "English"; Types: full
Name: "help\dutch"; Description: "Dutch"; Types: full

В приведенном выше примере создаётся четыре компонента: компонент "main" будет установлен, если пользователь выберет тип установки "full" или "compact". Компонент "help", имеющий два дочерних компонента, будет установлен только в том случае, если пользователь выберет тип установки "full".

Ниже приведен список поддерживаемых параметров:

Name  (обязательный)

Внутреннее имя компонента.

Общее количество символов \ или / в имени компонента определяет его уровень. Любой компонент с уровнем 1 или выше является дочерним компонентом. Компонент, находящийся в списке перед дочерним компонентом с уровнем на 1 меньше, чем дочерний, является родительским. Другие компоненты, имеющие один и тот же родительский компонент, что и дочерние, являются компонентами одного уровня.

Дочерний компонент не может быть выбран, если не выбран его родительский компонент. Родительский компонент не может быть выбран: если не выбран ни один из его дочерних компонентов; если параметр секции [Components] не имеет прямой связи с родительским компонентом; если родительский компонент не содержит флаг checkablealone.

Если компоненты одного уровня содержат флаг exclusive, то выбран может быть только один из них.

Пример:
Name: "help"
Description  (обязательный)

Описание компонента (может содержать константы). Это описание показывается конечному пользователю во время установки.

Пример:
Description: "Help Files"
Types

Перечень типов, разделённых пробелами, которые поддерживают данный компонент. Если конечный пользователь выберет один из перечисленных типов, компонент будет установлен.

Если флаг fixed (см. ниже) не используется, то любые выборочные типы (с флагом iscustom) в этом списке игнорируются программой установки.

Пример:
Types: full compact
ExtraDiskSpaceRequired

Дополнительное место на диске, необходимое этому компоненту. Параметр аналогичен директиве ExtraDiskSpaceRequired в секции [Setup].

Пример:
ExtraDiskSpaceRequired: 0
Flags

Этот параметр представляет собой набор дополнительных опций. Допускается использовать несколько опций, разделяя их пробелами. Поддерживаются следующие опции:

checkablealone

Указывает, что компонент может быть выбран, если ни один из его дочерних компонентов не выбран. По умолчанию, если ни один параметр секции [Components] не имеет прямой ссылки на компонент, тогда отмена выбора у всех дочерних компонентов приведёт к отмене выбора родительского компонента.

dontinheritcheck

Указывает, что компонент не должен быть выбран автоматически, если выбирается родительский компонент. Не влияет на компоненты верхнего уровня и не может быть объединён с флагом exclusive.

exclusive

Указывает программе установки, что данный компонент является взаимоисключающим среди компонентов одного уровня, также имеющих флаг exclusive.

fixed

Указывает программе установки, что данный компонент не может быть выбран или не выбран конечным пользователем во время инсталляции.

restart

Указывает программе установки о необходимости перезапуска системы после установки данного компонента, даже если в этом нет необходимости (например, из-за записей с флагом restartreplace в секции [Files]). Действует также, как и директива AlwaysRestart, но только для компонента.

disablenouninstallwarning

Указывает программе установки не предупреждать пользователя о том, что данный компонент не будет удалён после того, как с него будет снят выбор, если он уже был установлен на этом ПК.

В зависимости от сложности конфигурации компонентов, можно попробовать использовать секцию [InstallDelete] и этот флаг для автоматической "деинсталляции" компонентов, выбор которых был отменён.

Пример:
Flags: fixed

Общие параметры