Installing Visual Studio 2005 Service Pack 1 and the May LINQ CTP

Now that Visual Studio 2005 Service Pack 1 is out I wanted to post a brief note about using it with May LINQ CTP. When reading this post, please note that this is not an official Microsoft advisory, but simply the result of my personal experience.

When testing on my machine and a local server, I found that special care needs to be taken if you who want to install both the May LINQ CTP and Visual Studio 2005 Service Pack 1 (VS SP1). If you want to install only VS SP1, and not the May LINQ CTP, then you can ignore this post.

My experience taught me a simple lesson. It appears to me that a conflict exists because the May CTP does not contain the fixes found in SP1, and SP1 does not contain the LINQ functionality found in the May CTP. This means SP1 can overwrite features found in the May CTP, and the May CTP can overwrite fixes found in SP1.

To have the smoothest experience possible under the circumstances, I suggest you install VS SP1 first and then the May LINQ CTP:

  1. Visual Studio 2005 Original Installation (aka as Whidbey RTM)
  2. Visual Studio SP1
  3. The May LINQ CTP

If you already have the LINQ May CTP installed, then you should first uninstall the CTP, then install VS SP1, then reinstall the LINQ May CTP:

  1. Uninstall the LINQ May CTP
  2. Install VS SP1
  3. Re-install the May LINQ CTP

The following combination, however, might not work very well for many users, particularly those who use Visual Basic:

  1. Visual Studio Original Installation
  2. The LINQ May CTP
  3. Visual Studio SP1


The December Orcas CTP will not completely implement all the LINQ features found in the May CTP. As a result, many people will want to continue using the May CTP at least until the release of the February Orcas CTP.

The May LINQ CTP and VS SP1 replace the language service files used by both C# and VB programmers. These files are DLL's that provide support for IntelliSense, refactoring, quick info, formatting, and related IDE features.

If, for instance, you installed SP1 on top of the May CTP, then the May CTP language service DLL's containing support for LINQ would be overwritten by the SP1 DLL's. As a result, you would encounter a number of potential problems, among them the loss of language service support for LINQ. This would mean that IntelliSense, refactoring, etc would not work properly for LINQ. The problems that would occur in this scenario are not limited simply to those outlined in this paragraph, and could potentially cause a range of undefined behaviors.

Some Notes

Note the presence of two scripts that ship with the May CTP in the bin directory:

  1. Install C# IDE Support.vbs
  2. Uninstall C# IDE Support.vbs

You can use these tools for swapping the language service in and out. 


kick it on