16

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?

j0k
  • 22,600
  • 28
  • 79
  • 90
Raja
  • 161
  • 1
  • 3

4 Answers4

21

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.

matt wilkie
  • 17,268
  • 24
  • 80
  • 115
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
  • 1
    +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 Nov 04 '09 at 13:23
  • Alas, this is no longer true. – Vaccano Feb 24 '10 at 20:05
  • 1
    @Vaccano: what is no longer true, and why not? Care to elaborate?? – marc_s Feb 24 '10 at 20:30
  • WiX is great, but I wouldn't recommend learning it without the book: http://www.amazon.com/books/dp/1849513724 – Ronnie Overby Jun 24 '13 at 19:39
8

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
  • 11,260
  • 2
  • 29
  • 29
1

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
  • 4,061
  • 8
  • 40
  • 59
  • 1
    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 Nov 04 '09 at 13:40
  • 1
    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 Nov 04 '09 at 13:53
  • @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 Nov 04 '09 at 19:37
0

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
  • 2,528
  • 4
  • 25
  • 39