The Setup program may return one of the following exit codes:

0Setup was successfully run to completion or the /HELP or /? command line parameter was used.
1Setup failed to initialize.
2The user clicked Cancel in the wizard before the actual installation started, or chose “No” on the opening “This will install…” message box.
3A fatal error occurred while preparing to move to the next installation phase (for example, from displaying the pre-installation wizard pages to the actual installation process). This should never happen except under the most unusual of circumstances, such as running out of memory or Windows resources.
4A fatal error occurred during the actual installation process.Note: Errors that cause an Abort-Retry-Ignore box to be displayed are not fatal errors. If the user chooses Abort at such a message box, exit code 5 will be returned.
5The user clicked Cancel during the actual installation process, or chose Abort at an Abort-Retry-Ignore box.
6The Setup process was forcefully terminated by the debugger (Run | Terminate was used in the Compiler IDE).
7The Preparing to Install stage determined that Setup cannot proceed with installation. 
8The Preparing to Install stage determined that Setup cannot proceed with installation, and that the system needs to be restarted in order to correct the problem. 4.1.)

Before returning an exit code of 1, 3, 4, 7, or 8, an error message explaining the problem will normally be displayed.

Future versions of Inno Setup may return additional exit codes, so applications checking the exit code should be programmed to handle unexpected exit codes gracefully. Any non-zero exit code indicates that Setup was not run to completion.