by Dmitry [dimaka] Pavlov
31. December 2009 02:12
Once you decided to write installer for your program. If you are a Visual Studio developer you should know about Setup and Deployment Projects containing the several cases to create Windows Installer project you need: Setup Project, Web Setup Project, Merge Module Project, Setup Wizard, CAB Project and Smart Device CAB Project. All of the types listed above uses the principle that developer should select options for your installer and get the MSI or MSM package.
But it is ok when your project is short-time and simple. You can write the program and then create a package. But when you are working on difficult long-time project including a lot of projects, which use registry and other system resources on target user's machine - it is very hard to keep all aspects of your program in mind when you will decide to create a new version. That would be much better to develop (not select options) the package simultaneously with the other projects of your solution.
Let me introduce FREE open source project named as Windows Installer XML (WiX) toolset! The Windows Installer XML (WiX) is a toolset that builds Windows installation packages from XML source code. The toolset supports a command line environment that developers may integrate into their build processes to build MSI and MSM setup packages.

Besides, there is a WiX integration for Visual Studio 2005 named as Votive. Votive is the Visual Studio package for WiX that lets you create and build WiX setup projects using the Visual Studio IDE. Votive supports syntax highlighting and IntelliSense for .wxs source files and adds a WiX setup project type to Visual Studio.
There are some links:
Enjoy!