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