Jiri Novotny at Dextronet wrote a great post this week on improving installers for micro-ISVs.
One essential that I'd add is writing your installer early and including it as part of the build process. It's the first thing that potential customers see and leaving the installer to the last minute is a huge mistake. You should be testing with a complete installer as pretty much the first milestone in any new project.
For Windows products I'd recommend WiX. It's easy to learn, and easy to include in your build. The latest beta includes Burn, a bootstrapper to install dependencies before the main MSI runs. I'm sick of having to do this part myself and I can't wait for Burn to become a stable part of WiX.