Is there no better Installer project in Visual Studio 2013 than the Setup projects or WiX?
I have a .vdproj and some WiX projects since Visual Studio 2008 which I now need to migrate to Visual Studio 2013. Do I still have to use the same two project types or is there a better solution?
Setup projects are still not supported with MSBuild and the WiX projects are still XML (although I see a visual designer is now available to purchase).
I am sick of both of them. I need something that is visual and that is supported by MSBuild. We have many custom actions too.
There is also Advanced Installer which have a Visual Studio Installer extension (with UI) which is available in their free edition (from what I know). Their Installer extension for VS is also MSBuild compatible.
WiX is the default way to go for free solutions that need to do advanced steps and must be able to integrate into Team Build and MSBuild.
Product Free/Paid VS designer MsBuild Support
InstallShield LE free yes yes
InstallShield Pro paid yes yes
InstallAware paid yes yes 3)
Advanced Installer free yes yes
NSIS free no no
MS VS Installer Projects free yes no
Wix Toolset free no 1) yes
InnoSetup free no no
PS App Deploy Toolkit free no 2) no
Remarks:
There is an extension that seems to support a user interface for WiX
Since it's PowerShell based you could use the Visual Studio PowerShell Tools.
Advanced Installer can generate an MSBuild compatible .*proj file on request.
Links to products:
InstallShield
Install Aware
Advanced Installer
Microsoft Visual Studio Installer Projects 2013
WiX Toolset
WiX Visual Studio extension
NSIS
InnoSetup
PS AppDeploy Toolkit
Remember that Team Build 2013 has a set of native extension points that allow you to execute PowerShell scripts after build which can trigger pretty much every type of installer project you need. Non-MSBuild-based systems like the PS AppDeploy Toolkit or NSIS can be triggered with relative ease this way.
XML and script-based UI's are generally easier to merge and branch and provide better maintainability over time as you're pretty much free to define the modules in separate files and provide comments on why certain files are deployed where or which commands are executed when.
I used the extension Visual Studio Installer Projects Extension: VSI_Bundle.
See the The Visual Studio Blog
It worked good for me.
I need to create a setup for installing my project. I meant to try both WIX both native visual studio installer, but i don't know how, when i go to new project there isn't such option. I figured out that WIX don't add templates on 2010, but why there isn't one for visual studio installer?
I would also like to know if there are any other simple installers worth trouble?
Visual Studio 2010 was the last version to support Visual Studio Installer (.vdproj) projects. Many teams use WiX Toolset instead. [UPDATE: There is now a VS extension that provides Visual Studio Installer support to later versions.]
WiX Toolset is a Visual Studio extension. Express versions don't allow extensions so that might be a reason you don't see templates. Another reason is that for the WiX installer to register templates, Visual Studio 2010 must be installed first. You can try repairing the WiX installation.
Another IDE for WiX is SharpDevelop. (It's free.)
Both Visual Studio Installer and WiX Toolset create Windows Installer packages. It's important to understand what Windows Installer does. If you are trying them to compare them, you might be interested in this related question.
NSIS is another technology entirely. It gives complete control over what's put the target system, including whether to have an uninstaller at all. Many projects use it as a bundler for Windows Installer packages. (But, note that WiX now has a bundler [called burn].)
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?
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:
Use A VS2008/2010 Solution to build your installer
Switch to another tool such as InstallShield or Windows Installer XML
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.
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.
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.
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).
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.
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.
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:
Install the PIA (Primary Interop Assembly) of Office 2010
Install the VSTO 2010 runtime
In my system when I click on Add->new project->And go to Other project types I cant see any project types. I actually wanted to convert my c# project to executable.
Is any component missing during installation? I am using Visual studio 2008 professional edition
Please help me..
I had the same issue until I looked into what software I was ACTUALLY using - check to see if you're really using Microsoft Visual Studio 2008 - I thought I was until I realized I was using Visual Studio 2008 Shell (integrated mode) which is different.
Microsoft Visual Studio 2008 Shell (integrated mode) is part of the SQL Server 2008 Management Studio, so the project types available to it are different than MSVS 2008... Microsoft developed the Shell to have the same look and feel of Visual Studio so users were comfortable and familiar with the layout.
Go to Tools>>Import and Export Settings>>Reset all settings>>Choose yes or no to save current settings>>
Then choose Visual C# Development Settings or General Development Settings.
So that you can have templates you need.
You can reopen your VisualStudio ISO and try to repair or you can install VisualStudio Express to make sure you can install all templates.
My guess is you didn't make a full installation and forgot to install some components.
I asked some questions about Inno Setup and .NET Framework installation. Now I am thinking whether is it better to use Visual Studio Installer or Inno Setup?
Which of the two do you think is better and more functional for this type of problem, and in general which is better to use for installer creation?
In general, Inno Setup is easier and more reliable, but if you must ship an MSI, use Visual Studio. See here for installing .NET with Inno.
Visual Studio Installer is retiring in 2010 so for future use it is not suitable. Also there is a tool called InstallShied Limited Edition in VS 2010 for creating installers (based on some other technology).
If you want to create installers directly in Visual Studio try this extension called Visual & Installer: http://visualstudiogallery.msdn.microsoft.com/5e57fe9a-ae5d-4740-a1c3-7a8e278e105b
It supports Inno Setup and NSIS (Nullsoft Installer, both are free and open sourced) and VS 2012 and VS 2012 are already supported so it looks fine.