WiX (Windows Installer XML toolkit) is a powerful tool from Microsoft to generate MSI files. Building installers is a pretty horrible process, WiX takes much of the pain out of the process. You can download form the official site.
A gentle introduction to WiX
I discuss the basics of how to use WiX to build installers.
Using WiX to install SQL databases and execute SQL scripts
Frequently installers are required to install and set up databases.
Using WiX to set and edit registry values
Configuring the registry is easy to do with WiX
Installing Services
Installing and configuring Windows Services with WiX
WiX XML
Using WiX to edit XML files during installation.
Using msiexec to manipulate msi files
Not directly a WiX topic, but anyone using WiX needs to understand the msiexec tool.