Exit Codes

The wrapped installers often return different exit codes. Exit codes typically say if the installation was a success or a failure.

When the MSI Wrapper looks at the exit code from the wrapped installer, it expects 0 (zero) to mean success and everything else a failure. However, sometimes the wrapped installer have multiple exit codes for success under different circumstances. It also happens that the exit code tells that the system needs to be rebooted before the installation is completed.

Starting with version 7 of the MSI Wrapper, you can map exit codes from the wrapped installer to different behavior in the MSI package. You can specify which exit codes represent a success and what which codes represent a pending reboot of the computer. This map is specified in the advanced settings.

The map is a comma-separated list of success exit codes or a map to code 3010, which signals a pending reboot.

Example

0,2,8,11=3010

This means that the exit codes 0 and 2 from the wrapped installer is a success. Exit code 11 signals a reboot.

Note

Reboot exit codes vary between executable installers. It sometimes depends on the installer framework used to create the executable installer. In case your installer is built with the Inno Setup framework, it most likely supports the command line switches /NORESTART /RESTARTEXITCODE. When you use the MSI Wrapper it is recommended that you use the /NORESTART to prevent the wrapped installer to initiate the restart of the system. Instead you can wrap it with the switches /NORESTART and /RESTARTEXITCODE=1234. Then you can map the exit codes with 0,1234=3010 to make the MSI package detect the need to restart and pass that information on to the program that installs the MSI package.