EXE files are the preferred method for installing our software, as they are able to detect an existing version of the software and offer the user the option of uninstalling the existing product. MSI files do not have this ability and will instruct the user to use the Add/Remove Programs on the Control Panel to remove the existing product first.
In many situations, the EXE packaging combined with pre-configured command-line options would be sufficiently error-proof, especially if /qb is used. The /qb option has the often-desirable effect of eliminating dialogs from the GUI that enable the user to override how the product is installed.
The only problem with using the EXE arises when you need to deploy an unattended installation/upgrade. There is no way to instruct the EXE to uninstall the existing version without first prompting the user.