Our msi installers currently call installer.exe and ignore the return code. If there is a failure in installer.exe process, such as unzipping/unpacking/patching/registering etc, it will fail silently. They will be left with an msi that appears to be installed, but is actually a broken product.
If our installer.exe custom action returns anything other than 0, we should throw an error and rollback the install. They should be left with a clean machine.