By: Sergey Gigoyan | Updated: 2020-11-02 | Comments (1) | Related: > Install and Uninstall
Problem
Sometimes we need to install an older version of the SQL Server on a server with a newer version of the Windows operating system. While SQL Server 2014 and older versions of SQL Server require .NET Framework 3.5 installed, the newer Windows operating systems do not have it installed by default. It could seem like quite a simple task. We just needed to install .NET 3.5 and then install SQL Server. However, adding the .NET 3.5 feature on newer versions of Windows may not be as easy as expected. Particularly, when we are trying to add the .NET Framework 3.5 feature on Windows Server 2019, we receive the following error:
"The request to add or remove features on the specified server failed. Installation of one or more roles, role services or features failed. The parameter is incorrect. Error: 0x80070057"
Well, it is worth mentioning beforehand that it is not possible to download and install .NET manually on this Windows Server. Additionally, quite often people do not have a Windows installation media with them in order to use it for adding this feature. Thus, it will be necessary to somehow fix the issue and add the feature from the Windows "Add Roles and Features" wizard. I believe that many database specialists have encountered this problem. If you are one of these people who faced this issue and have not found the solution yet, this article will be beneficial for you. Here, we will discuss exactly this specific case and provide a solution.
Solution
First, we are going to reproduce the problem in a detailed way and after that, provide the solution. In our test environment, we are installing SQL Server 2014 Database Engine on Windows Server 2019 (the same problem occurs while installing on Windows Server 2016 as well). So, let's begin.
We will skip all steps of the SQL Server installation, as it is out of this topic. We will just stop at the step where our problem starts. Hence, when we reach the step where the feature rules are validating, we can see that the rule fails for "Microsoft .NET Framework 3.5":
The error message is self-explanatory (i.e. Rule "Microsoft .Net Framework 3.5 Service Pack 1 is required" failed.) and it is very easy to understand the reason. As our operating system is Windows Server 2019, we open server features on "Server Manager" where we can see that although the .NET Framework 4.7 is installed, the .NET Framework 3.5 is missing:
We check ".NET Framework 3.5 Features" and click next trying to add this feature:
The warning message appears informing us that it is possible that for some features source files can be missing and cannot be obtained automatically. According to the message, for such cases, an alternative path for the source files should be provided:
When we click on "Specify an alternative source path", we can see that it is clearly mentioned that the source files for ".NET Framework 3.5" are not installed, but available in the side-by-side store:
As it is mentioned before, it is assumed that we do not have access to the Windows Features side-by-side store and Windows installation media. So, we cannot specify this option. If we leave it blank, click "OK" and then "Install", we will receive an error message (i.e. The request to add or remove features on the specified server failed. Installation of one or more roles, role services or features failed. The parameter is incorrect. Error: 0x80070057) as you might have already expected:
It is also not possible to use the .NET Framework 3.5 installation file to install it on our server because this feature can be added to the Windows server only as a Windows feature. Thus, just to reformulate our problem - we need to add the .NET Framework 3.5 through the Windows features, but we cannot as the source files are missing from Windows and we do not possess these files.
Hmm… what if we have Windows download these files from the Internet? Yes, it is possible, and in order to do that, we need to edit the local computer policy. To do so, we open the command prompt and type "gpedit". The "Local Computer Policy Editor" opens where we can locate the necessary setting under the "Computer Configuration" > "Administrative Templates" > "System". On the left side, under "Settings", we can find a setting named "Specify settings for optional component installation and component repair":
This is what we are going to modify. Let's open it and check "Enabled" and then check the second option – "Download repair content and optional features directly from Windows Update instead of Windows Server Update Services (WSUS)" and click "OK":
Now, if we retry adding the .NET Framework 3.5, we can see that it succeeds as the registry settings are changed and the feature is downloaded from the Internet:
After that, if we re-run the SQL Server feature rules validation, we can see that all rules are passed, and we can successfully install SQL Server:
Conclusion
All in all, installing SQL Server 2014 or older versions of SQL Server on newer Windows servers can be a bit non-standard routine. The difficulty here can be the process of adding .NET Framework 3.5 on newer Windows servers especially if you do not have a Windows installation media. Nevertheless, the problem can be fixed by editing the Windows local group policy settings.
Next Steps
For additional information, please review the links below:
- Install the .NET Framework 3.5 on Windows 10, Windows 8.1, and Windows 8
- .NET Framework 3.5 installation errors: 0x800F0906, 0x800F081F, 0x800F0907, 0x800F0922
- Install SQL Server from the Installation Wizard (Setup)
About the author
This author pledges the content of this article is based on professional experience and not AI generated.
View all my tips
Article Last Updated: 2020-11-02