Problem
Whatever edition of SQL Server 2008, regardless of it being 32-bit or 64-bit, chances are, if you’re installing SQL Server 2008 on Windows 7, you may encounter some frustrating issues. One such issue deals with the prerequisite .NET Framework.
Microsoft .NET Framework 3.5 issue
When running setup.exe, you almost instantaneously receive the following Microsoft SQL Server Setup error:
"Microsoft .NET Framework 3.5 installation has failed.
SQL Server 2008 Setup requires .NET Framework to be installed."
The problem here is that SQL Server 2008 installer erroneously states that 3.5 SP1 has not been installed when in fact it has already been installed.
Solution
First, ensure that you in fact have the correct required version of the .NET Framework. There is a quick way to find out which version you have installed.
I found this neat and simple, one line JavaScript
javascript:alert(navigator.userAgent)
Copy and paste that line of JavaScript code to IE Address bar and press ENTER key, you will see a pop-up dialog box with the versions installed. It only works with an IE browser. Otherwise, you can navigate to this registry path to get the version: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.
Fig 1: This indicates that .NET Framework v.3.5 build is installed
You can also manually check this article “How to Check which Version of DotNet Is Installed In Windows” There is also a dotNet Version Checker Tool is my article, or you can Google for the tool.
So, before you rush off to install, uninstall and reinstall .NET framework v.3.5, the issue appears to be, not that 3.5 isn’t installed, but that the program is not recognizing this fact. If you trydownloading and installing the .NET package, you’re likely to get the message: 'You must use "Turn Windows features on or off" in the Control Panel to install or configure Microsoft .Net Framework 3.5 SP1’. If you do need to manually install it you can find it here from the Microsoft .NET Download Page
One possibility that is often overlooked is media corruption. There have been some instance of this such as discussed he in this blog regarding the above error, “I know i have it installed already!” Although it might now dawn on the user why this is happening, if you examine the SQL Server 2008 setup log, you probably will find the following entries, confirming this:
Attempting to find media for .Net version 3.5
Error: Cannot determine file version of .Net redist: 0x80004005
.Net version 3.5 installation failed, so setup will close. Error code: 0x80004005
Setup closed with exit code: 0x80004005
The message line “Attempting to find media for .NET version 3.5”, may be more informative, as you know, that the SQL Server setup will install the necessary .NET component prerequisites.
So, if it can’t find it, it won’t install it. According to the developer team at Microsoft, the error code means the setup can't determine the version of .NET contained on the media for your architecture. Therefore, ensure your media contains the following paths and .NET EXE packages:
- ia64\redist\DotNetFrameworks\dotNetFx35setup.exe
- x86\redist\DotNetFrameworks\dotNetFx35setup.exe
- x64\redist\DotNetFrameworks\dotNetFx35setup.exe
If you find the dotNetFx35setup.exe among the installation files, you can create these paths, and rerun setup again. This particular fix has gotten me past the .NET v.3.5 failed error.
Once you are able to get past the .NET Framework installation issues, hopefully, you will be able to successfully install your SQL Server 2008 server. BUT, in case you still continue to have other issues, stay tuned to my next tips on getting past some other common known SQL Server 2008 installation issues.
Next Steps
If you’re planning on installing SQL Server 2008 for the first time, assuming all goes well, you may want to refer to this three part series on MSSQLTips.com to help.
- SQL Server 2008 Installation Process
- SQL Server 2008 Installation Process - Part 2
- SQL Server 2008 Installation Process - Part 3
Robert Pearl is a SQL MVP, and President of Pearl Knowledge Solutions, Inc., offering SQLCentric monitoring and managed DBA services