Параметры секций [Components] и [Tasks]

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

Components

Разделённый пробелами список с именами компонентов, указывающий программе установки, к каким компонентам относится запись. Если пользователь выберет компонент из этого списка, запись будет обработана (например, установится файл).

Запись без параметра Components обрабатывается всегда, пока другие параметры этого не отменят.

Пример:
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"; Components: main
Source: "MYPROG.CHM"; DestDir: "{app}"; Components: help
Source: "README.TXT"; DestDir: "{app}"
Tasks

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

Запись без параметра Tasks обрабатывается всегда, пока другие параметры этого не отменят.

Обратите внимание, что флажок "Не создавать папку в меню «Пуск»" на странице мастера "Выберите папку в меню «Пуск»" не влияет на записи секции [Icons], имеющих параметры Tasks, поскольку они имеют свои собственные флажки.

Пример:
[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"; Components: main; Tasks: startmenu
Name: "{group}\My Program Help"; Filename: "{app}\MyProg.chm"; Components: help; Tasks: startmenu
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"; Components: main; Tasks: desktopicon   

Помимо разделённых пробелами списков, в качестве параметров Components и Tasks также можно использовать логические выражения, содержащих имена компонентов или задач. Поддерживаются операторы not, and и or. Например:

[Components]
Name: a; Description: a
Name: b; Description: b

[Tasks]
Name: p; Description: a or b; Components: a or b
Name: q; Description: a and b; Components: a and b
Name: r; Description: not a or b; Components: not a or b
Name: s; Description: not (a or b); Components: not (a or b)
Name: t; Description: a or b - old style; Components: a b