Creating an MSI installer for the first time
Solution 1
I would recommend taking a look at Windows Installer XML, commonly referred to as WiX. It's a bit more complicated than Visual Studio setup projects, but it allows you to treat your installer like source code.
Makes longer term maintenance of installers easier than the GUI-based alternatives. Microsoft uses it to create many of their own installers.
It's available free here: http://wix.sourceforge.net/
A good tutorial for beginners is available here: http://www.tramontana.co.hu/wix/
Be warned though, MSI has a somewhat steep learning curve. The biggest problem you'll probably face isn't with Windows Installer (MSI) itself, but the deployment of the .NET Framework to the target machines. There's no way to deploy .NET from within Windows Installer - you'll need a separate executable "bootstrapper" that installs .NET before the MSI can be launched.
Solution 2
Here is a great walkthrough on how to create the setup project using the wizard:
Connor Albright
Updated on May 10, 2020Comments
-
Connor Albright about 4 years
I need to make an msi installer for my very simple (no databases or anything) vb.net application in VS2010. I don't know anything about installers. Where do I start?
-
Connor Albright about 13 yearsThis answer is scarcely long enough to be useful.
-
Doc Brown about 13 yearsThe question was "where do I start" - and creating a setup installation project using the builtin wizard is not a bad start. Though I think BiggsTRC's anwer is much better.
-
bernie2436 over 12 yearsI followed that tutorial and found it very helpful. One head's up (for me this was very confusing): if you are used to using the "publish" features of Visual Studio, installing with an MSI file is a little bit different. You need to right click setup project, click Open Folder in Windows Explorer, then go to the Debug folder and double click the MSI file to launch the installer. VStudio does not do this for you (like with a one-click publish). Hopefully this spares others some headaches waiting for the installed to "pop up" after hitting publish