Scott Hanselman

FREE: Visual Studio Express 2012 for Windows Desktop

September 13, 2012 Comment on this post [32] Posted in Open Source | VS2012
Sponsored By

Visual Studio Express 2012 for Windows DesktopWhen the Visual Studio 2012 free versions were originally announced the first thing I noticed was that they had switched from a language-specific model (C# Express, VB Express, etc) to a target-specific model (Windows 8, Web). However, I was very surprised (and disappointed) that there was no free way to make Console Apps, or Windows Forms apps, or anything for the Windows Desktop. I wasn't the only one who thought this was a problem. Shortly thereafter (with a lot of people pushing) Soma announced there would be a "Windows Desktop" Express version for free. He said:

...we heard from our community that developers want to have for Windows desktop development the same great experience and access to the latest Visual Studio 2012 features at the Express level.

Today, I’m happy to announce that we will add Visual Studio Express 2012 for Windows Desktop to the Visual Studio 2012 family. This will bring to the Visual Studio Express family significant new capabilities that we’ve made available in Visual Studio 2012 for building great desktop applications.

I'm glad folks realized that no-cost desktop software development is important. Open Source projects need free tools like the Express SKUs. Even better that the the Express Desktop SKU gets the new 2012 features as well.

Today Visual Studio has made Visual Studio Express 2012 for Windows Desktop available and you can go download it now free. The best part is that this one SKU supports C++, C#, and Visual Basic together. With this one free version you can make WinForms, WPF, Console or Class Libraries with any or all of Visual Basic, C#, as well as Win32 projects, class libraries, and CLR apps using C++. You can also, of course, combine projects over multiple languages into a single solution. You can target both .NET 4.0 and 4.5.

NOTE: You might wonder, what about a free F#? Why isn't F# included? We've got a free download to add F# support to the free Visual Studio Express 2012 for Web!

Related Links

While Express SKUs don't allow arbitrary add-ins (you need Pro for that) the free SKU does include Unit Testing, Code Analysis, as well as the NuGet package manager. It's a bit of a nice coup for my little group that NuGet is now included in ALL Visual Studio 2012 SKUs, even Express ones. Package management is finally happening in .NET.

In the screenshot below I've added a C++ Console app, a Window Forms C# app and a C# Console to a single solution in VS2012 using Express for Windows Desktop.


Just to illustrate one of the reasons I think a free "Desktop" SKU is so important, I wanted to share a cool open source project I found recently called Topshelf. It's a library for making Windows Services easier to write using .NET. It's up on GitHub under an Apache license. The easiest way to get Topshelf is with NuGet with simply "install-package Topshelf". Topshelf has some impressive documentation as well, especially for an open source project!

Here's a simple Windows Service with a basic heartbeat timer using Topshelf:

public class TownCrier
readonly Timer _timer;
public TownCrier()
_timer = new Timer(1000) {AutoReset = true};
_timer.Elapsed += (sender, eventArgs) => Console.WriteLine("It is {0} an all is well", DateTime.Now);
public void Start() { _timer.Start(); }
public void Stop() { _timer.Stop(); }

public class Program
public static void Main()
HostFactory.Run(x => //1
x.Service<TownCrier>(s => //2
s.ConstructUsing(name=> new TownCrier()); //3
s.WhenStarted(tc => tc.Start()); //4
s.WhenStopped(tc => tc.Stop()); //5
x.RunAsLocalSystem(); //6

x.SetDescription("Sample Topshelf Host"); //7
x.SetDisplayName("Stuff"); //8
x.SetServiceName("stuff"); //9
}); //10

Topshelf even has nice Log4net and NLog integration. Anyway, this is just the kind of powerful, useful, and interesting open source library that could be helped by a free Express SKU for Desktop. I'm not involved directly (yet ;) ) in making decisions this high up, but I (and many, many others) inside and out continue to advocate for balance. In this case I'm very glad that the decision was made to ship this SKU and I hope you all find it useful whether you work in open source or in education.

There's more details over at the Visual Studio blog and the team is watching the comments.

This week's sponsor: Be part of GENERATION APP. Your Idea. Your App. 30 Days. Begin your 30-day journey to create a Windows Store style app and talk 1-on-1 with a Windows 8 app development pro. Get started today.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Hosting By
Hosted in an Azure App Service
September 13, 2012 11:50
So the F# add-in works only with VS2012 for the Web? Weird, considering it was announced only yesterday, couldn't they wait for desktop:) ?

Overall, the fact it's not divided into languages versions seems damn good to me, and the fact it contains some useful basic additions makes it even better.

Keep up the good work!
September 13, 2012 12:20
Note for all, which are missing the syntax highlighting...

I removed and oh magic... highlighting is back
September 13, 2012 12:53
We've built in our company some basic UI tooling for some script automation tasks, and the Express edition is therefore more than sufficient for our basic use. Glad to know it is back!
September 13, 2012 13:11
So Web api and Entity Framework should work?
September 13, 2012 13:36
Nice information...thanks to share
September 13, 2012 14:18
This is great news for open source projects.

One question though, when you say SKU, I think "Stock Keeping Unit" - is that the definition you intend here?
September 13, 2012 15:26
I have long thought that MS should make more powerful versions of VS available for free (or at least for nominal cost). I understand that developing great tools costs real money. But I suspect one of the barriers to wider-scale adoption of the MS stack by the OSS community has simply been the greater availability of first-class tools for other platforms, compared to the (at least perceptually) constrained VS Express offerings. I insert "perceived" in parens because I know that the Express version actually contains sufficient functionality for most projects.

I was concerned when I saw that MS was limiting VS2012 Express to the "Web" and "Windows 8" platforms. I think this addition is a smart move. As a user of the full pro version, I make these points not because I want "more for free." But I remember being daunted by the cost of entry to get full-function tools for working in the MS ecosystem, as compared to what is available elsewhere.

Going forward, it would be great if MS were able to create an OSS-targeted version of the VS toolkit, and possibly a suitable licensing strategy such that the developer or team were able to access everything necessary to produce large scale OSS projects, so long as the project was released under an OSS license.

Or something.

Here's to the evolution of a first-class development platform, either way!
September 13, 2012 19:03
I was also surprised by the Windows 8 only Express, but only walked away in sadness. I'm glad to hear people spoke up and something came of it!

I cut my web development teeth on my own with PHP Development Tools for Eclipse, and found that it did what I needed. Later I got into .NET at a new job, and developed a desire to write .NET side-projects at home without fear that the man might do something nefarious. This led me to use Express instead of employer-supplied tools. VS Express is tight in a way I could not get Eclipse to be at that time (and possibly out of ignorance).

If there is a complaint it is that VS Express is too tight, and yet with the inclusion of NuGet that complaint is marginalized (though I do wish I could install a T4 highlighting extension). Still, VS Express comes setup with just what you need like easy-as-falling debugging, a ready to run web server and database, and now includes unit testing (thank you very much for that, I love NUnit and the tools that support it, but to be able to test and step through code in unison from Express is a fantastic gift)!

I have found that Express gives me all the freedom I need for personal projects, all the features I enjoy, and if ever I truly need solution folders then surely my personal projects are bringing in some money and the purchase of another edition can be justified. Phil, the Scotts, and others are to be applauded for contributing to the greater development community.
September 13, 2012 21:48
Thanks for pushing for this Scott. There is definitely still a place for rich client applications on the Windows platform, and being able to build them using VS 2012 is very welcome.
September 14, 2012 0:04
GingaNinja - EF will work anywhere it should work and Web API will work in Express for Web.
September 14, 2012 8:36
@Jeremy Cook

Well, yesterday I opened sln that was made in Pro version, and Express was displaying solution folders...unless it was just my dream, need to recheck:)h
September 14, 2012 17:28
I don't really see why we need these different versions.

If i'm testing out how to write some windows 8 metro app that also has a desktop version, that gets it's data from my own web api, I don't want to go trough the hassle of installing 3 different Visual studio editions, with a different configuration

Can't we just get a "visual studio express" that has all express editions in one?

September 14, 2012 19:44
Michiel - Baby Steps. I totally agree with you and I've made the same argument. They argument, I think, is that you're describing the complex system a pro developer would make and they'd want their $499.
September 15, 2012 1:31
I never put any MS with the word "Express" in it on my computer. I would rather go work at Macdonalds on the weekend to make the money to buy the pro edition. I'm too sensitive to "missing functionality" surprises at my ripe old age.
September 16, 2012 5:14
You can install silently with no restarts via chocolate
September 19, 2012 12:20
Can i take this opportunity to state that I really hate VS2012 and even more Windows 8? Microsoft's really losing it... Although I love(d) C#/.NET/MSSQL i feel as being pushed to other platforms... Sad. And it's not just me lot's of collegaes and friends of mine feel the same way. Scott, please use your influence to at least talk to MS people that in the community lots of people feel this way. It's like they don't give people what they want, they decide what they feel that people should have. Now this works perfect for Apple, but alas, MS is not Apple.
November 06, 2012 9:27
@Someone above...

Having been to DevConnections last week, and worked with VS2012's Ultimate RC for some months prior, I can tell you that there's a boat load of really great stuff in VS2012, and that MS gives a lot of things that at very least I want. I know a whole bunch of people who are of my same mindset. So I have to wonder (because you weren't anywhere near specific) what it is that bothers you about VS 2012 and about Windows 8. What could you possibly expect Scott to relay? A general feeling of vague complaint from an unsubstantiated "lot of people?" How could that possibly lead to any kind of improvement, let alone the kind that would change your opinion?

I'm also very happy about how much free info is out there for people to learn this technology. Scott -- you're a really big part of that.

The only thing I can claim (at the moment) to be a bit disappointed by is how difficult it seems to be to find specifics about what can and can't be done by the express editions. What are its capabilities, and more importantly its limitations? There's a semblance of what I'd be looking for in the 2012 editions comparison chart. Maybe a chart pitting the Pro version vs Express?
November 27, 2012 14:22
There is a big "worflow hole" in the latest releases of VS wich has not been taken care of yet. I hoped that with all the workflow improvements in VS 2012 this would have been addressed as well (still hope in a Service Pack...). Simply put you cannot go with a keybind from the code behind view to the markup view. You always have to code > designer > markup > code and that's quite annoying since most web devs won't use the designer at all but just switch from code-behind to markup when working with sites. This possibility was present in earlier releases of VS but then has disappeared.
If you do a quick search on the web you will see many coders complaining for this simple quite powerful workflow improvement.
Please push Microsoft to bring it back in :)
November 27, 2012 22:56
Max - That bug is in our list to fix. Thanks!
December 01, 2012 22:17
I am a beginner, with Express installed. Would like to use it, but where are the manuals? Yea, there are some subjects treated on MS's website, but that's not enough. I'd like a full description of the functions. CSS is not a problem, properties and usage are discussed on many sites. However, description of functions is very important in one file to be easily searched and printed out as necessary.

Thanks, John.
December 12, 2012 20:08
I just followed you "free download" link, and the program I installed says it is only free for 30 days. WUWT?
December 12, 2012 21:39
Joseph - No, it's free forever and always. You just need to register in 30 days (free) so they can email you about updates.
December 23, 2012 11:02
Scott - why they whant my business name on registration form? I don't have any company, so i can't use visual studio?
December 24, 2012 7:00
Just put "me" for the company.
January 13, 2013 14:33
What's the difference between Desktop edition and Windows 8 edition? Applications created with VS2012 Express for Windows 8 just can be executed on Windows 8?

January 15, 2013 2:32
Jordi - Desktop Edition can make regular windows apps, console apps, etc. Windows 8 edition can make fullscreen apps you can put in the Windows store.
February 16, 2013 19:46
I currently have the 2010 Express versions. Do I need to unistall those before installing the 2012 versions Thanks in advance.
March 04, 2013 14:05
Can you install the VS 2012 Express for Desktop and VS 2012 Express for Web on the same computer (say Windows 7)?
March 21, 2013 18:09
This version does not provide intellisence for VC++/CLI. So it's very hard to work with.
May 17, 2013 4:48
I will have to take a good look, hope to see what i needed.
June 17, 2013 6:44
What is the main difference from the 2012 to the 2010 version?
November 19, 2013 8:17
Can one know ,what is MS Visual Studio Express 2012 for Window desktop trail version product key?

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.