views:

430

answers:

5

Hi,

I am new to setup project creation. Now I am using Visual studio 2008 to create setup file (msi) for my project. I am quit uncomfortable in creating my own custom forms in the installation wizard as well as upgrading an existing version of my project to a new version. Is there any other alternatives to create MSI/MSP package for Dot net projects?

Thanks in advance,

Raja

+5  A: 

Why not use NSIS. Free to use, a lot of documentation, and some awesome plugins for whatever they can't do natively.

Even integrates with Eclipse, if that is your editor of choice.

Ben Dauphinee
yes, but it's not producing MSI's, right? First of all, the OP asked for it, and second of all, in enterprise environments, MSI is the gold standard all admins want.
marc_s
While this is true that op asked for .msi, I was offering an alternative, since he seems to still be learning. MSI and NSIS offer similar capabilities, and there was no indication given to preference for use in enterprise environment.
Ben Dauphinee
@Ben: appreciate that. If you're talking about alternatives, I would also add InnoSetup as another free, open-source installer which is very easy to use and learn
marc_s
+11  A: 

Creating MSI is not always an easy task - one tool that definitely helps is WiX - Windows Installer XML - a free-ware, open-source project run by Microsoft employees in their free time.

It's quite messy, though, to get into it - here's a good WiX Tutorial for starters.

Another interesting approach is "Wix#" (WiX Sharp) - a C# frontend that outputs WiX script from C# source - quite intriguing.

Marc

marc_s
+1 for WiX. FYI, WiX has gained a lot of traction at Microsoft (more than just a "free time" project). It's now used to create the Microsoft Office installer, and it is being integrated into Visual Studio 2010 out of the box.
JasCav
Alas, this is no longer true.
Vaccano
@Vaccano: what is no longer true, and why not? Care to elaborate??
marc_s
+1  A: 

Depends on your budget. If you are comfortable spending $US100-300 dollars or more you might take a look at Advanced Installer (would be my choice), Tarma installer (I believe it's the cheapest installer product from all listed here), WixAware or InstallAware, Wise and InstallShield also offer/support MSI.

Advanced Installer guys do offer a free version, however it is very very limited (you can't even register assemblies in GAC or do some other things needed for simple installations - like displaying EULA). I would also recommend to try out and dive into WiX.

liggett78
A: 

If you are using VS2008, then you can add a setup project to your solution that you can then use to create the .msi and the setup.exe that you will be able to use to install your application. You didn't specify a specific language so that is an example of how I create an installer package for my C++ apps in VS2008. You can find all the information you need to do that by opening up help in VS2008 and finding deployment in the index.

ChadNC
A: 

Hi,

Thanks for all your responses. I got couple of alternatives from your answers. Its very useful to me. thanks again.

Raja
Please get in the habit of **accepting** the best answer provided, the one solving your problem. It's the right and polite thing to do on StackOverflow and serves as an incentive for others to continue to help those looking for answers. See: http://meta.stackoverflow.com/questions/5234/accepting-answers-what-is-it-all-about
marc_s