Visual Studio 2008 Standard vs Professional and the lack of Windows Services Support

27 03 2008

Ok, well I’ve blogged about the virtues of VS2008 Standard before.

Essentially, I find the Standard version very satisfactory for everyday coding. Even the Server Explorer is there, regardless of what Microsoft’s product comparison says.

One thing that frustrates me however, was that nowhere on the site, did they mention that the creation of Windows Services was a Professional-only inclusion. Huh.

This is the MSDN article explaining the lack of the feature. But checkout the link they have on VS version comparisons and show me where it mentions no Windows Services. Boo.

If you think about it, Services are useful little tools, especially when you have your own server to work with, and you need something running all the time, managing data requests – like a process queuing service for example.

The feature that is missing from Visual Studio is the startup Project Template. However, if you know the startup code, you don’t need the Template.

You can still create an Empty Project in VS2008 Standard, include the System reference and the System.ServiceProcess reference and then add the classes from there. This CodePoint article provides a good insight. Microsoft have their own article – though it’s in VB.NET (ewww).

Personally, I find the best approach is to create a Service.cs file and load the code from the Code Project site. Then you can simply follow Microsoft’s instructions to add an installer.

You then install via your framework’s InstallUtil.exe (again see the Microsoft link). This executable is distributed with the .NET 2.0 Framework, and as such you can find it somewhere like: C:\WINDOWS\Microsoft.NET\Framework\v2.0.

Update: Feb 4, 2008

Another thing I’ve noticed missing is the ability to create Office Add-Ins. These are those tools that you install into the various products of Office. I’m suspicious though that this lack is something that a work around, like the above one, could fix. 

If you’re just looking for interoperability with Office, that’s simply the matter of installing the version of Office you need on your dev machine, and then including the COM reference in your project. (eg. Word is Microsoft Word XX.X Object Library (v 12.0 is 2007, 11.0 is 2003))