Custom EXE actions can be successful or unsuccessful (zero or non-zero return code). Custom MSI DLL Actions can set properties (which may be performed in future actions) and return one of several status indicators, including success, failure, or cancellation of the user. If you need to use an EXE (say, because it was provided to you), you will most likely have to wrap it in a custom MSI DLL action to do what you want. Or, if possible, it might be much better to rewrite the EXE as a DLL.
source
share