Деинсталлятор возвращает ненулевой код выхода, если пользователь отменяет его работу или происходит сбой. Программы, проверяющие код выхода для выявления ошибок, не должны проверять какое-то определённое ненулевое значение. Любое ненулевое значение указывает на то, что работа деинсталлятора не была завершена должным образом.
Обратите внимание, что в момент получения кода выхода деинсталлятора, некоторый код, связанный с удалением, может продолжать свою работу. Поскольку Windows не разрешает программам удалять свои собственные EXE файлы, деинсталлятор создает и запускает собственную копию в каталоге TEMP. Этот "клон" выполняет фактическое удаление и по окончании завершает работу оригинального ЕХЕ файла деинсталлятора (в этот момент вы получаете код выхода), затем удаляет его, после чего выводит сообщение "Деинсталляция завершена" (если не были использованы параметры командной строки /SILENT или /VERYSILENT).