Windows Installer has been an utter disaster since day one. It was supposed to (partly) solve DLL hell and dependencies, but the exact same thing is the core flaw of MSI: you need to install Windows Installer software to use installers based on it. Mind boggling. I also don't understand why most MSI installers require the MSI files to remain resident on the system to uninstall said software. I have had to re-install numerous Windows boxes just to be able to install software because MSI broke something during a previous attempt. For example if you have an older version of MSVC installed, and deleted it's installer, you cannot remove it. Sow when you attempt to install a newer version it will not allow you to continue it without removing the older version...which you can't.
As end user I've found MSI difficult to use, let alone attempt to use it to create installers for my own software. I favor distributing plain old ZIP files and manually installation. And when I want to appear professional, NSIS does a better job than MSI ever can, simply because MSI is fatally flawed by design.
(Just to dispel preconceptions that I'm a MS-basher; I think that VB6 is the best product MS ever created and still use it occasionally).