January 12, 2016 at 12:00 am
Comments posted to this topic are about the item Error: Microsoft .NET framework 3.5 service pack 1 is Required
Regards,Ganapathi varma, MCSAEmail: gana20m@gmail.com
January 12, 2016 at 4:14 am
Hi !
The question is why does it need .Net 3.5 ??
I did an SQL2014 installation yesterday on a WS2012 and as soon as i did a choise in what feature to install, the need for .Net 3.5 popped up.
/Jonas
January 12, 2016 at 8:57 am
This action is required for any windows 8, 8.1, Server 2012, 2012 R2 as .NET3.5 and 4 are not automatically installed when building these OSs. It also applys to all SQL versions 2008 and above.
Thanks
January 12, 2016 at 9:07 am
Despite being changed and updated with new feautures, the following SQL Server 2012/2014/2016 components depend on the .NET Framework 3.5 sp1:
SQL Server 2012 Database Engine
Replication Service
SQL Server Data Tools
Data Quality Service
Master Data Service
Reporting Service Native Mode
Full-Text Search
hence, you need to have .NET 3.5 sp1 before installing SQL Server as per
"Hardware and Software Requirements for Installing SQL Server 2016"
January 12, 2016 at 9:27 am
I've had this issue when trying to install SS 2016. There are a few other blog posts that cover this process, but they all assume that you have the appropriate ISO file. I have an MSDN license, but have not been able to find an ISO online. Where does one get the appropriate ISO file?
~Matt
January 12, 2016 at 9:35 am
I think its a combination of 3 things that make this problem pop up :
1. .Net framework 4 and above are standalone frameworks so they do not contain the updates of their older version like 3.5. So even if .Net 4.5 is present on a Windows 8 or Windows Server 2012 machine you still have to install/ enable .Net Framework 3.5.
2. As CozzaroNero mentioned some of the tools/ services in SQL 2012/2014/2016 still require .Net 3.5. In addition if you will notice after the installation of SQL server 2012 a folder of SQL server 2008 is also created in All programs which has Configuration Tools -> Installation Center in it. These tools being from SQL server 2008 still require .Net 3.5
3. Microsoft's decision to have .Net 3.5 not preinstalled/enabled on newer OS's like Windows 8 or Windows server 2012 or else providing the setup of .net 3.5 as a part of the SQL server setup itself( as it was in SQL server 2008 setup).
Anyways, as a solution I always keep a set of pre-installation scripts that check if .Net 3.5 is installed or not and in case not then it installs it either using DISM.exe in CommandShell or Install-WindowsFeature in PowerShell.
January 12, 2016 at 6:25 pm
Just for completeness... the PowerShell syntax to install it is:
Enable-WindowsOptionalFeature -online -FeatureName NetFx3 -Source X:\Sources\sxs
from and elevated PowerShell session.
X: is the virtual drive letter that the OS installation ISO is mounted on (or the physical media if you're using a DVD or USB).
January 13, 2016 at 12:17 am
I know that I need to install .Net3.5 on a WS2012 before installing SQL.
But why is there a need for .Net3.5 ??
Why isn´t newer versions of .Net enough ? 🙂
Is it that the code isn´t updated, just new features added to the newer SQL versions ??
/Jonas
January 13, 2016 at 2:01 am
I get this quite often since our infrastructure guys frequently forget to install .Net 3.5 when building the machines (I have a checklist they're supposed to follow, but...)
It's no problem to install .Net after the fact usually EXCEPT if the OS has had service packs applied. At that point the 'Provide alternative sources' pointing to the SxS folder doesn't work because the installed binaries have changed in some way.
There are ways to fix it, but in all honesty, the quickest and most reliable way to get done is to flatten the machine and re-install the OS.
DBA (Dogsbody with Bad Attitude)
January 13, 2016 at 2:38 am
I didn't know the Powershell command - thanks!
This also works:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\install\dotNet\dotNetFx35setup.exe
The other thing that might be worth mentioning (because I didn't know!) was that the .iso has to be mounted as a virtual CD/DVD drive (assuming you're on a VM) - you can't just copy it to a folder and point dism at it.
The ISO is Windows_Svr_Std_and_DataCtr_2012_R2_64Bit_English.ISO
May the road rise up to meet you. May the wind always be at your back. May the sun shine warm upon your face,and rains fall soft upon your fields. And until we meet again, May your God hold you in the palm of His hand.
January 13, 2016 at 3:45 am
Jonas Kristoferson (1/13/2016)
I know that I need to install .Net3.5 on a WS2012 before installing SQL.But why is there a need for .Net3.5 ??
Why isn´t newer versions of .Net enough ? 🙂
Is it that the code isn´t updated, just new features added to the newer SQL versions ??
/Jonas
I believe, it's the safest and easiest way to maintain backward compatibility....
The .NET Framework 4.5 and its point releases are backward-compatible with apps that were built with earlier versions of the .NET Framework. In other words, apps and components built with previous versions will work without modification on the .NET Framework 4.5 However, by default, apps run on the version of the common language runtime for which they were developed, so you may have to provide a configuration file to enable your app to run on the .NET Framework 4. All this means more work and testing for sql dba that have to test more in details all applications and assemblies... , if the problem is with an application, you will need to find some dev resources to try to fix this issues and so on... all of the sudden, upgrading to a new version of sql became a nightmare or at least not that easy, innit?
"In practice, this compatibility can be broken by seemingly inconsequential changes in the .NET Framework and changes in programming techniques. For example, performance improvements in the .NET Framework 4 can expose a race condition that did not occur on earlier versions. Similarly, using a hard-coded path to .NET Framework assemblies, performing an equality comparison with a particular version of the .NET Framework, and getting the value of a private field by using reflection are not backward-compatible practices. In addition, each version of the .NET Framework includes bug fixes and security-related changes that can affect the compatibility of some apps and components."
https://msdn.microsoft.com/en-us/library/ff602939(v=vs.110).aspx
Note. Assemblies are DLL files used in an instance of SQL Server to deploy functions, stored procedures, triggers, user-defined aggregates, and user-defined types that are written in one of the managed code languages hosted by the Microsoft .NET Framework common language runtime (CLR), instead of in Transact-SQL.
I think, you now appreciate the little step of adding .NET 3.5 to your server
January 13, 2016 at 6:37 pm
I don't have an issue with the need for .NET 3.5, I'm just flabbergasted that Microsoft makes it so hard to install. Not acceptable in 2016. F for Microsoft here.
January 13, 2016 at 11:28 pm
Nice article 🙂
From my experience, this is an issue with the Windows OS being used and not just SQL server.
When you install the OS (Windows 8/Server 2012) and then using the Add Features wizard select to install the bundled .NET 3.5 it will give an error.
There are ways to script around this using the DISM commands or even using powershell, these also rely on having the Sources folder from the OS install somewhere available to the server.
Note that you'll need the offline option as online also throws the same errors: https://msdn.microsoft.com/fr-fr/library/dn482069.aspx
If you're using a virtual environment then you can include this framework into your OS template, alternatively if using a deployment service (e.g. PXE Boot) then you could add this into the post-deployment scripts.
Reportedly fixed in the 8.1/R2 versions - but I have come across the issue a couple of times with these versions.
Think it may have come about when Microsoft released a new feature of Windows to help reduce the disk footprint required by the OS, but I may be wrong.
February 17, 2016 at 4:40 pm
Thanks for the info.
Viewing 15 posts - 1 through 15 (of 16 total)
You must be logged in to reply to this topic. Login to reply