Порядок установки

Как только начинается фактический процесс установки, все задачи по установке выполняются в следующем порядке:

Все записи обрабатываются программой установки в порядке их указания в секции.

Вы сами можете проконтролировать этот порядок, открыв сценарий в IDE компилятора и несколько раз нажав [F7] (Шаг с заходом): каждый раз, когда программа установки или удаления будет обрабатывать запись, IDE приостановит её выполнение и покажет вам эту запись.

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

Например:

[INI]
Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Flags: uninsdeletesectionifempty
Filename: "{win}\MYPROG.INI"; Section: "InstallSettings"; Key: "InstallPath"; String: "{app}"; Flags: uninsdeleteentry   

В примере выше, программа установки сначала запишет в журнал деинсталляции данные для флага uninsdeletesectionifempty из первой записи, создаст ключ из второй записи и, наконец, запишет данные для флага uninsdeleteentry. При удалении программы, деинсталлятор сначала обработает флаг uninsdeleteentry, удалив ключ, затем обработает флаг uninsdeletesectionifempty, удалив секцию.

Обратите внимание, что обработка записей в секциях [UninstallRun] и [UninstallDelete] выполняется в том же порядке, в каком они указаны в сценарии (а не в обратном).