Express Versions and Visual Studio and the Extensibility story
July 30, 2009 Leave a comment
One thing I have seen asked many times in the past few months is whether someone should uninstall the express products when they install Visual Studio proper. My answer is no and this blog entry will explain a bit about this.
Visual Studio is one of the most extensible products on the market. Essentially, Microsoft create a shell where components plug in. At one time, it was going to be the MMC shell, which is used by the Defragger, Event Viewer, Computer Management and .NET Configuration, to name a few items. The current shell is not MMC, but it does take a very similar approach.
The Express products contain the basic shell components along with bits specific to the type of development. If you download Web Developer Express, you get the basic web developer bits. If you download Visual C# Express, you get the C# bits. By bits, I mean the additions to the editor, projects, etc. that are necessary for that type of development.
If you later install a full version of Visual Studio, you do get a small amount of duplication, as you have two instances of the shell, but many of the components used by Visual Studio are the same ones used by Express. In many cases, you just get more of them. So the only real savings from uninstalling Express is a few components (very few) that are not shared. As disk space is very cheap, I would personally not uninstall. But, I also will demo Express from time to time (to show development can be done in Express, for example), so your mileage may vary.
The current version of Visual Studio is designed to make it easy to add new bits. Install ASP.NET MVC and it adds new templates, some additional Intellisense rules, etc. Add Silverlight development and you get more plugged in.
The next version of Visual Studio will still take these extensions to the product. And it is even more extensible, as it also will extend with MEF and the main surface uses WPF, which makes it easy to tailor the UI to your needs.
Back to the point. While they look like very different products, Express and Visual Studio share a lot. You cannot add all of the Visual Studio bits to Express, but this is a purposeful limitation, as Express is a free product. If you need the power of full extensibility, you have to buy the product. It is not a huge price to ask.
As for the Visual Studio SKUs, when you install Visual Studio Professional on top of standard, you get more stuff. When you then install a Team System SKU, you get more stuff. Want proof? Just look at your uninstalls. You can uninstall many of the features independently of the entire product.
So, should you uninstall Express before installing studio? If you really think saving a bit of space is worth it, perhaps. If you have the time to do it, then more power for you. Yes, leaving it there leaves another product you are not using, but since the Visual Studio installer checks for many items, leaving it on there may cut down your install time. In the end, it is your choice.
Peace and Grace,