Visual Studio, over the last years, is trying to give you the full ALM (Application Lifecycle Management) experience. Architecting, designing, prototyping, development, testing and deployment. With Visual Studio 2012 Ultimate and Team Foundation Service/Server it is all there … or is it?
Well yes -and- no. If you used to deploy your own projects using the Visual Studio Setup and Deployment templates you may have noticed that it just went away and, suggested to be, replaced by a third party tool writer Flexera Software with their InstallShield LE (note: not the full product).
Setup and Deployment Project – EOL (End Of Life)
What happened was that Microsoft with Visual Studio 2012 removed support for their Setup and Deployment Project templates (.vdproj). This didn’t happen over night and sure this is not something new. It was announced looooong ago with the release of Visual Studio 2010 in a tiny note here:
Future versions of Visual Studio will not include the Visual Studio Installer project templates. To preserve existing customer investments in Visual Studio Installer projects, Microsoft will continue to support the Visual Studio Installer projects that shipped with Visual Studio 2010 per the product life-cycle strategy. For more information, see Expanded Microsoft Support Lifecycle Policy for Business & Development Products.
Obviously no one ever noticed this announcement (I didn’t either) except a few exceptions. Most people just found out as they bought their brand new Visual Studio 2012 box and started converting their projects that they had been working for several years happily using Visual Studio 2010 or earlier VS versions. After converting their projects it appeared that it was no longer possible to build the Setup (.msi) output and developers started to wonder what went wrong and why.
This is where the UserVoice site kicks in. The UserVoice site is a medium where developers can vent their ideas and post suggestions on what to improve or add to Visual Studio vNext. Really quickly the number one request (to restore color) but soon after that the number two option became the request to “Bring back the basic setup and deployment project type Visual Studio Installer”.
Users continued to add feedback explaining that the proposed alternative InstallShield LE edition was not a valid option (no x64 support, no services, no customizations, no VSTO support etc. etc.) and most and for all existing projects were breaking after moving to Visual Studio 2012 making it a -real- showstopper. From the comments you can read that users were not amused and even became somewhat aggressive to Microsoft on this.
It was quite for a long time, that is … comments were still added at a high rate but Microsoft did not respond. Until there was June 21st. Tony Goodhew, PM at the Visual Studio team, declined the request with a quick note that it was not going to happen and InstallShield LE should be the road to go, according to the Microsoft team. The voting option was closed, the counter stopped and the topic was moved out of sight. Discussion closed. Ehh … was it?
Well, shutting down their only option to provide feedback triggered something for many people to respond even more aggressive on the subject and the rate of comments now went even higher than before closing it down the option to vote. Everything went from bad to worse. I’ve met Tony Goodhew a couple of times in the previous years and I just can say that he does not deserve the things they throw at him in the comments. Sure, the decision to remove the templates is, mildly put, questionable but still no reason to get aggressive.
As things tended to escalate (or already did) it was time to add some extra information to the ‘declined’ mark:
We have more information on the next version of InstallShield Limited Edition that will be included in Visual Studio 2013.
Obviously, while you all continued to post your angry comments Microsoft tried to solve the issue that bothered all of you and worked with Flexera to design a version that added all the missing options you had in your .vdproj templates:
- Installing x64 applications and services
- Installing Windows Services
- Distributing the VSTO runtime
- Using Relative Paths within project files
- Improvements when migrating installation projects and custom actions to InstallShield Limited Edition
This should solve the pain you are experiencing and if you still have problems with migrating go to Visual Studio Connect and explain there what goes wrong to give Microsoft an option to get it fixed.
The improvements are targeting Visual Studio 2013 but also existing Visual Studio 2012 customers will get the updated version.
Is InstallShield (LE) the only option? No, besides sticking to Visual Studio 2010, there is the option to buy the full product of InstallShield or look at a number of alternatives:
The Windows Installer XML (WiX) is a toolset that builds Windows installation packages from XML source code. The toolset supports a command line environment that developers may integrate into their build processes to build MSI and MSM setup packages.
VDProj to WiX Converter is a Visual Studio extension that generates WiX-based setup projects from your existing Visual Studio setup projects (aka vdproj). It supports all Visual Studio versions starting from VS 2005 and all vdproj features including variables, msm and msi packages, custom actions, built-in dialogs, etc.
There are more alternatives, if you think yours should be listed as well, let me know and I‘ll add it for you.
Personally I think Visual Studio should contain an installer product, out of the box. Not a third party tool or a third party tool to convert existing installer products. Microsoft, at this time however, decided not to go that route and somehow partnered with Flexera to cover that part.
I haven’t had the time yet to explore the InstallShield LE Beta Release in detail nor did I check to migrate my solutions to 2012 with this beta, but if it contains what is promised it should be sufficient.
Despite my preference to have it all in one box. Until I checked it out myself I’m on neutral ground and really hoping this will fix the issue that my Visual Studio 2010 projects could not be deployed anymore after moving to Visual Studio 2012.
What did annoy me though was that in order to access the InstallShield LE Beta Flexera requires you to register. Even if you want to provide feedback on the product. In my opinion you shouldn’t be required to add all your personal information to get to the beta. Maybe someone who reads this has the authority to change this.
Let me know if you found issues building new solutions or migrating your existing VS 2010 projects to VS2012/13 using the InstallShield LE Beta Release!