Из документа справки Inno Setup ( из статьи «Коды выхода при установке» ):
Начиная с Inno Setup 3.0.3, программа установки может вернуть один из следующих кодов выхода:
0 Установка успешно завершена.
1 Не удалось инициализировать установку.
2 Пользователь нажал «Отмена» в мастере до начала фактической установки или выбрал «Нет» в открывшемся окне сообщения «Это будет установлено ...».
3 Произошла фатальная ошибка при подготовке к переходу к следующему этапу установки (например, от отображения страниц мастера предварительной установки до фактического процесса установки). Это никогда не должно происходить, за исключением самых необычных обстоятельств, таких как нехватка памяти или ресурсов Windows.
4 Во время самого процесса установки произошла фатальная ошибка.
Примечание. Ошибки, приводящие к отображению поля Abort-Retry-Ignore, не являются фатальными. Если пользователь выберет Прервать в таком окне сообщения, будет возвращен код выхода 5
.
5 Пользователь нажал Отмена во время фактического процесса установки или выбрал Прервать в поле Abort-Retry-Ignore.
6 Процесс установки был принудительно прерван отладчиком (в IDE использовался Run | Terminate).
Вы можете легко проверить, успешно ли прошла установка, подтвердив, что код выхода равен 0
. Кроме того: * * тысяче сорок-одна
Любой ненулевой код выхода указывает на то, что программа установки не была завершена.
Чтобы ответить на ваш вопрос более конкретно, вы можете определить, что установка была отменена, наблюдая код выхода 2
или 5
.
Если вы хотите вернуть пользовательский код завершения, когда Inno в противном случае вернет 0
, вы можете определить следующую функцию события:
function GetCustomSetupExitCode: Integer;
Из справочного документа ( из статьи «Написание сценариев Паскаля: функции события» ):
function GetCustomSetupExitCode: Integer;
Вернуть ненулевое число, чтобы дать команду программе установки вернуть код завершения. Эта функция вызывается только в том случае, если программа установки была успешно запущена до завершения и код выхода был бы 0
.