SQL Server 2008 and .NET Framework 2.0 SP2 dependency explained

August 24, 2008 – 12:34 pm

Recently a local SA Developer .NET community member reported an issue installing SQL Server 2008 Express as it required the as yet unreleased .NET Framework 2.0 SP2.

Well yes, SQL Server 2008 does rely on the .NET Framework 2.0 SP2. According to MSDN SQL Server 2008 requires .NET Framework 3.5 SP1 which is included in all editions except for the Express editions which require the following:

SQL Server Setup will not install the following required components for SQL Server Express and SQL Server Express with Advanced Services. You must install these components manually before you run SQL Server Setup:

  • SQL Server Express — ..NET Framework 2.0 SP2 and Windows installer 4.5. On Windows Vista, use .NET Framework 3.5 SP1.
  • SQL Server Express with Advanced Services — .NET Framework 3.5 SP1, Windows Installer 4.5, and Windows PowerShell 1.0.

A little more digging and I found Somasegar’s post about the FX 3.5 SP1 beta and subsequently a comment from Larry Sullivan, Group Manager:

First we absolutely realized that there are a number of customers still on .Net Framework 1.1 and we will look into the possibility of servicing it again.  I can tell you that the servicing requests on 1.1 are very low and the volume of servicing requests is a big part of what plays into the timing and need for an SP.  Which of course leads into your questions of why we are updating the 2.0 bits again which comes down to the fact that to provide a service pack of .Net Framework 3.5 it was necessary to provide fixes in the lower level core parts of the .Net Framework.  Given that we needed to update a number of binaries to deliver the 3.5 SP1 we made the decision to go ahead and allow an additional set of fixes into the 2.0 and 3.0 layers.   This is a byproduct of the fact that the current set of .Net Framework versions are much like a layer cake with .Net Framework 2.0 at the bottom, then .Net Framework 3.0 and finally the .Net Framework 3.5 layered on top.  Each of the upper layers has dependencies into lower layers, but not vice versa.  In other words 3.5 can depend on 3.0 and/or 2.0, but 2.0 has no dependencies on 3.0 or 3.5.  As you can see this means that some fixes or features in the 3.5 can require updates in their dependant layer to function properly.  Also, with the introduction of 3.5 we now allow for the SPs of the .Net Framework to install on both machines with predecessor version or no version at all.  This allows customers to not have to deploy two items, the RTM version and its SP, but only the SP.

So that explains it. Personally I’d like to see a list of changes for each service pack and for each service pack to have a standalone installer, but it seems Microsoft chose to bundle it to possibly hide the deployment issues away from the end user. If you look at the .NET Framework 3.5 Architecture of the .NET Framework you’ll see the following note:

Windows Vista does not support the standalone installation of the .NET Framework version 2.0 SP2 or version 3.0 SP2. Windows 2000 does not support the .NET Framework version 3.5 SP 1, nor the standalone installation of the .NET Framework version 3.0 SP 2.

At the end of the day Microsoft hasn’t concealed the FX 2.0 SP2 release, they just didn’t advertise it clearly. I’d appreciate it if they were a little more clear in their release notes.

  1. 6 Responses to “SQL Server 2008 and .NET Framework 2.0 SP2 dependency explained”

  2. ty about that u are the best :P

    By nedqlko on Sep 2, 2008

  3. so where can i download the .net framework from please there r so many links but none seem to give me the download

    By wayne on Nov 9, 2008

  4. Hi,

    I have an old WinForm Application that i developed on .Net 1.1 and SQL Server 2000. My boss recently bought a new Server SQL Server 2008 and I am not able to connect to the DB! ive tried all combinations of Connection strings, TcP/IP/namedpipes Combo but nothing so far!! Please advice asap. Thanks, Jesse

    By Jesse on Dec 9, 2008

  5. @Jesse SQL Server 2005 and 2008 ship with network protocols disabled by default in an attempt to tighten security. I believe the only default enabled protocol is Shared Memory which is only useful if you are on the physical machine.

    Run the SQL Server Configuration Manager, expand SQL Server 2008 Network Configuration and then select the Protocols node. Then right-click and Enable TCP/IP and/or Named Pipes. Restart the instance of SQL Server and it should all work.

    By Craig Nicholson on Dec 9, 2008

  6. Here’s the really dumbed down (simple) answer.

    Install 3.5 and you will have 2.0 SP2 capability. Read the MSDN site on 3.5 FX.

    By Dave on Dec 11, 2008

  1. 1 Trackback(s)

  2. Aug 24, 2008: SQL Server 2008 and .NET Framework 2.0 SP2 dependency explained - Craig Nicholson

Post a Comment