Custom Action Return Values
If the msidbCustomActionTypeContinue return processing option is not set, the custom action must return an integer status code as shown in the following table.
|ERROR_FUNCTION_NOT_CALLED||Action not executed.|
|ERROR_SUCCESS||Completed actions successfully.|
|ERROR_INSTALL_USEREXIT||User terminated prematurely.|
|ERROR_INSTALL_FAILURE||Unrecoverable error occurred.|
|ERROR_NO_MORE_ITEMS||Skip remaining actions, not an error.|
Note that custom actions that are executable files must return a value of 0 for success. The installer interprets any other return value as failure. To ignore return values, set the msidbCustomActionTypeContinue bit flag in the Type field of the CustomAction table.
For more information about the msidbCustomActionTypeContinue option and other return processing options, see Custom Action Return Processing Options.
Note that Windows Installer translates the return values from all actions when it writes the return value into the log file. For example, if the action return value appears as 1 in the log file, this means that the action returned ERROR_SUCCESS. For more information about this translation see Logging of Action Return Values.