SQL Server 2008, Visual Studio 2008 SP1 and Visual Studio 2008 Express

I ran into a bit of weirdness yesterday when trying to install SQL Server 2008.  I have Visual Studio 2008 installed as well as a couple of the Visual Studio 2008 Express products (for testing solutions for the Coding4Fun site and the upcoming book).  I installed Visual Studio 2008 SP1 and all went as planned.  After looking at the Help –> About screens, Visual Studio and all of the Express products showed the proper version tag:  9.030729.1 SP1.  So I figured all the products were updated and good to go.

Next I tried to install SQL Server 2008 and got an error stating Rule “Previous releases of Microsoft Visual Studio 2008” failed.  I re-installed SP1 figuring something had gone wrong, but no dice.  After digging through the SQL Server 2008 install logs I realized what was happening.  The installer was using the HKLM\SOFTWARE\Microsoft\DevDiv\XXX\Servicing\9.0\SP keys to determine if SP1 had been installed and the registry settings were set that it hadn’t been installed for the Express products.

So, I then installed the SP1 versions of all of the Express products (there apparently isn’t an SP1 update for these, you just install the new versions and they are upgraded), tried installing SQL Server 2008 once again, and it worked without a hitch.

In summary, the tip here is that if you have any of the Visual Studio Express products installed, you must install the SP1 versions of those products separately from Visual Studio 2008 SP1 in order to have them properly updated.  The SP1 package for Visual Studio 2008 does not actually update these applications and will block the client-side installation of SQL Server 2008.