130

I create a small application and I would like to create one MSI file.

In Visual Studio 2010 you have this project type under:

Other Project Types -> Setup and Deployment -> Visual studio Installer -> Setup Project

But the only thing you got in Visual Studio 2012 is "Enable InstallShield Limited Edition".

You can change the .NET Framework, but nothing changes.

Why is it not there any more? And how can I get it back? Is there a new way to do this?

Pang
  • 9,564
  • 146
  • 81
  • 122
Kris Nobels
  • 1,977
  • 2
  • 14
  • 23
  • 1
    what's the point of a Visual Studio add-in if there's no way to deploy it???! – DevDave Jul 24 '13 at 17:14
  • Just for reference, here is a description of the most common alternative tools used to create an MSI: http://stackoverflow.com/a/1546941/129130 . They are all a bit pricey, except Wix. – Stein Åsmul Apr 20 '14 at 22:00

8 Answers8

68

Please see:

Visual Studio setup projects (vdproj) will not ship with future versions of VS

Windows Installer Deployment

It was announced 1 1/2 years ago that the project types were being killed. Alternatives are:

  1. Use A VS2008/2010 Solution to build your installer
  2. Switch to another tool such as InstallShield or Windows Installer XML
Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
  • if we go for your 1st solution.. can we add pre-requisites as .NET 4.5 ? – Sreekumar P Sep 12 '12 at 12:08
  • Possibly. I believe VS has a directory somewhere of config files (XML?) that contain the definition of prerequistes. You might be able to work out the data structure and then create your own definitions for .NET 4.5. It wouldn't be supported and I really only put #1 out there to point out it is an option. Personally, speaking as an expert in this field with 16 years experience, I dislike almost everything about this tool and I wouldn't attempt to breath any more life into it. I was not saddened when I heard Microsoft was killing it. – Christopher Painter Sep 12 '12 at 12:22
  • Take a look here if you want to try it: C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages Figuring out how they hash the PublicKey attributes will probably be one of the biggest hurdles. – Christopher Painter Sep 12 '12 at 12:23
  • 1
    Sorry what does "Use A VS2008/2010 Solution to build your installer" actually mean? – Alan Macdonald Sep 13 '12 at 14:43
  • 4
    It means if you have your Deployment Project and Application Projects in the same solution you'll have to stop doing that. You'll have to split them into two solutions and leave the deployment solution on VS2005/2008/2010 and move your application solution forward to 2012. – Christopher Painter Sep 13 '12 at 14:54
  • For the same reason i were not able to convert my 40 odd project's solution to VS2012. there were no simple conversion from VS2010 setup projects to installshield based or WIX based setups projects which are supported in VS2012 and next version till date – Kamran Shahid Jul 10 '13 at 07:42
37

To create setup projects in Visual Studio 2012 with InstallShield Limited Edition, watch this video.

The InstallShield limited edition that cannot install services.

"ISLE is by far the worst installer option and the upgraded, read - paid for, version is cumbersome to use at best and impossible in most situations. InnoSetup, Nullsoft, Advanced, WiX, or just about any other installer is better. If you did a survey you would see that nobody is using ISLE. I don't know why you guys continue to associate with InstallShield. It damages your credibility. Any developer worth half his weight in salt knows ISLE is worthless and when you stand behind it we have to question Microsoft's judgment."

By Edward Miller (comments in Visual Studio Installer Projects Extension).

The WiX Toolset, which, while powerful is exceeding user-unfriendly and has a steep learning curve. There is even a downloadable template for installing Windows services (ref. VS2012: Installer for Windows services?).

For Visual Studio 2013, see blog post Creating installers with Visual Studio.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
santhoshkumar
  • 418
  • 4
  • 2
  • 3
    As per the Video, Unable to create `Setup.msi` in `VS 2012`, any more help..?? – AB Bolim Jul 22 '13 at 10:49
  • The install shield limited edition that cannot install services. The WIX Toolset, which, while powerful is exceeding user-unfriendly and has a steep learning curve. There is even a downloadable template for installing windows services. http://arstechnica.com/civis/viewtopic.php?f=20&t=1190745 – Kiquenet Jun 10 '14 at 10:15
  • Hi @santhoshkumar, After completing installation of window form MSI setup, my raw files(Design and coding) are also showing at installation location. I've developed this application using visual studio 2010. Setup created successfully, but after installation that MSI this problem is happening. Please help me. Thanks in advance. – dilipkumar1007 Aug 02 '17 at 07:17
25

Have you tried the "Publish" method? You just right click on the project file in the solution explorer and select "Publish" from the pop-up menu. This creates an installer in a few very simple steps.

You can do more configuration of the installer from the Publish tab in the project properties window.

NB: This method only works for WPF & Windows Forms apps.

grantnz
  • 7,322
  • 1
  • 31
  • 38
  • 6
    Also known as ClickOnce - http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.110).aspx – Surfbutler May 03 '13 at 13:16
  • I did the same in my embedded project containing WPF windows and VC++ dll. My client asked me to include VC++ redistributable package in the installer. Can you assist me? Because I undergone all the wizard but I could not see any option to include a seperate installer in deployment using this clickOnce deployment method. – Manish Dubey Aug 08 '14 at 07:42
  • 1
    @grantnz I finally found the option. I found it in the Prjoect Properties ->Publish->Prerequisites tab. Hope, you will also find it. – Manish Dubey Aug 13 '14 at 12:44
17

Microsoft has listened to the cry for supporting installers (MSI) in Visual Studio and released the Visual Studio Installer Projects Extension. You can now create installers in Visual Studio 2013; download the extension here from the visualstudiogallery.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Peter
  • 27,590
  • 8
  • 64
  • 84
5

ISLE (InstallShield Limited Edition) is the "replacement" of the Visual Studio Setup and Deploy project, but many users think Microsoft took wrong step with removing .vdproj support from Visual Studio 2012 (and later ones) and supporting third-party company software.

Many people asked for returning it back (Bring back the basic setup and deployment project type Visual Studio Installer), but Microsoft is deaf to our voices... really sad.

As WiX is really complicated, I think it is worth to try some free installation systems - NSIS or Inno Setup. Both are scriptable and easy to learn - but powerful as original SADP.

I have created a really nice Visual Studio extension for NSIS and Inno Setup with many features (intellisense, syntax highlighting, navigation bars, compilation directly from Visual Studio, etc.). You can try it at www.visual-installer.com (sorry for self promo :)

Download Inno Setup (jrsoftware.org/isdl.php) or NSIS (nsis.sourceforge.net/Download) and install V&I (unsigned-softworks.sk/visual-installer/downloads.html).

All installers are simple Next/Next/Next...

In Visual Studio, select menu File -> New -> Project, choose NSISProject or Inno Setup, and a new project will be created (with full sources).

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Slappy
  • 5,250
  • 1
  • 23
  • 29
  • 1
    How can install NSIS and Inno Setup ? Step-by-Step Getting Started in 5 minutes and full source code sample in VS ? – Kiquenet Jun 10 '14 at 10:23
  • 1
    Download Inno Setup (http://jrsoftware.org/isdl.php) or NSIS (http://nsis.sourceforge.net/Download) and install V&I (http://www.unsigned-softworks.sk/visual-installer/downloads.html) All installers are simple Next/Next/Next... In Visual Studio select File -> New -> Project, choose NSISProject or InnoSetup and new project will be created (with full sources). – Slappy Jun 10 '14 at 12:49
3

There is some progress for Visual studio 2013 developers :-D woot woot! See blog post Visual Studio Installer Projects Extension.

Link and information were retrieved from Brian Harry's blog post Creating installers with Visual Studio.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Kris Nobels
  • 1,977
  • 2
  • 14
  • 23
2

Have a look at the article Visual Studio Installer Deployment. It will surely help you.

You can choose the correct version of .NET framework on the page. So for you, make it .NET 4.5. I guess that would be there for Visual Studio 2012.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Sid
  • 4,905
  • 1
  • 17
  • 17
  • 1
    For Visual Studio 2012, it says "*InstallShield Limited Edition (ISLE) is free for Visual Studio developers and replaces the functionality of the project templates in Visual Studio for setup and deployment.*". – Peter Mortensen Sep 19 '16 at 17:46
0

I think that Deploying an Office Solution by Using ClickOnce (MSDN) can be useful.

After creating an Outlook plugin for Office 2010 the problem was to install it on the customer's computer, without using ISLE or other complex tools (or expensive).

The solution was to use the publish instrument of the Visual Studio project, as described in the link. Just two things to be done before the setup will work:

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131