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.
11 thoughts on “SQL Server 2008 and .NET Framework 2.0 SP2 dependency explained”
ty about that u are the best 😛
so where can i download the .net framework from please there r so many links but none seem to give me the download
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
@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.
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.
Installing .NET 3.5 SP1 using dotnetfx35.exe does not always install .NET 2.0 SP2 on Vista machines. Is this a known problem? I am unable to install Sql Express 2008 on this particular machine.
I’m having the exact same problem with .NET 3.5 SP1 not
installing .NET 2.0 SP2 on a Vista machine. Has anyone figured this
I noticed the same issue that Greg noticed. I have windows server 2008 x64 running on HyperV and when I went to install SQL 2008 SP 1 I got the error message about .NET 2.0 SP 2, even though I had 3.5 SP 1 installed. When I looked in the registry it list 2.0 SP 1 and 3.0 SP 1 and 3.5 SP 1. Still working with SQL Core support on this.
Hi David, Did you ever get a resolution on this ?
Jesse, did you ever resolve this issue? I am now going through the same issues with an old VS2003 app I wrote. The new server has SS2008 express, should I be able to connect to this with my old app using frame work 1.1?
Comments are closed.