WIX is actually a open source project from Microsoft that gives you control over building and deploying msi files. It is based on XML format, but is getting smarter and smarter over the releases. It even has a Visual Basic subset called Votive.
In my company environment we use InstallShield to build msi files for deployment. InstallShield can get expensive per license and if you have an older version you might run into problems with deployment on certain machines. InstallShield does give you great option and makes things a lot easier, but what do you do when you have to pay $1000 for a license.
Well in my case I used WIX (Windows Installer XML) the learning curve was a bit steep, there is a lot of reading to do, and you might run into problems that you're unsure on how to solve. But as I was moving through sample code I got the hang and feel about my application, and it was such a breeze to register assemblies to the GAC.
This is an excellent tool for building installs for small to medium size business. The eager release of WIX 3.5 will redistribute with a tool called burn, to make bootstrapping a bit easier.
Try it here
and get the tutorial here