MSI installer has important benefit over standard .exe setup files.
taken from http://repository.windowsdream.com/updater/why_msi.html
* You are sure to find an entry on Add/Remove programs, in the Control Panel.
* What has been installed will be uninstalled, and only this. This means that if the MSI created a C:\MyDir\ folder, copied a Myfile.exe inside, and if afterwards you added a C:\MyDir\Myconfig.ini file, at the uninstall process, everything will disappear, except the Myconfig.ini file. This is clean.
* The install/uninstall process is even more clever. It makes use of a counter. So, if a registry key is used by 4 applications, and you uninstall 3 of them, then the registry key will remain... until you uninstall the 4th application.
* There's a repair mode, which operates automatically in case one key file has been deleted.
* Shared ini files are never overwritten. Instead, they are read, and appended or modified. When uninstalling, the ini files are restored to what they were before the installation of the MSI.
* No DLL conflict to fear.
* Upgrades from a version to a newer one can be done easily.
* And many more similar features.
But if you ever track down an installation process using MSI, in most case you will know that list of files that need to be uninstalled later and other huge redundant file information are stored inside registry.
Just imagine if a package contain 1200 files and then you stored it in deep/long directory name (like C:\Program files\The Registry Killer Company\Let me fill the registry Apps\) and also if inside that folder installer put 5-level directory, I'm pretty sure it will add some megabytes to registry...
Now make it 5 installation of such, and how much megabytes wasted for that? Why don't relocate it to log files?
And you know the rest what to be happened if registry is too big.