How to create an MSI installer programmatically?

.net, c#, windows-installer, winforms

Solution

I recommend you use WiX. It is a very powerful installer building tool. You can use it to create the install files using the command line tools, which can be used from your build program.

Problem

I have a program that is used to create other program and compile it from *.cs source file `using System.CodeDom.Compiler;` I would like to create an installer too for the compiled program but i am wondering if i can do that programmatically, so when i click the Build Now button in my main application, a new installer will appear on a chosen destination. Is there someway to create an msi installer for the compiled program ( the program that i have built ) with a button click. I don't want to use InstallShield everytime i want to create an installer for my compiled programs. Any help would be highly appreciated

Original source

Related problems