Technical Articles
How to install the .NET Framework 3.5 on Windows Server 2016 and later
Lots of applications require the .NET Framework 3.5 installed on your Windows Server 2016 and later. By default, the .NET Framework 3.5 is not installed on these Operating Systems and must be installed manually by an administrator. You can install the .NET Framework 3.5 also on Windows Server 2022 by following the steps described in this blog post.
There are multiple ways to install the .NET Framework 3.5 feature on Windows Server 2016 and later:
- By using the “Add Roles and Features” Wizard of the Windows Server Manager
- By using PowerShell
- By using the DISM tool
- By using the Group Policy Feature on Demand setting
In this blog post I will focus on just two of them: The installation using the Windows Server Manager and the installation via the Windows PowerShell.
If you are using Windows 10, Windows Server 2016, or Windows Server 2019, Microsoft recommends installing .NET Framework 3.5 through the control panel or the methods listed above.
You can find more information about this installation within the official documentation published by Microsoft: Microsoft .NET Framework 3.5 Deployment Considerations.
Prerequisites
To install the .NET Framework on your system running Windows Server 2016 and later you need the Windows Server installation media that was used to setup the server. Within this blog post, we will need the contents from the subfolder [ISO]:\Sources\SxS on the installation media.
If you are using a Windows Server installation ISO, you can simply mount the ISO file on your server or extract the contents of the [ISO]:\Sources\SxS to a local directory, for example D:\Sources\SxS. To mount the ISO file using the Windows Explorer, simply select Mount from the context menu of the ISO file:
Mount a ISO file using the Windows Explorer
Additionally, the user account used to run the steps described in this blog required administrative privileges on the system. This means the user must be a member of the local Administrators group.
Install the .NET Framework 3.5 Feature using the Server Manager
First you must open the Server Manager on the system where you want to install the .NET Framework 3.5.
- In the Server Manager, open the Add Roles and Features Wizard by clicking Manage –> Add Roles and Features.
- Step forward to Installation Type and select Role-based or feature-based installation.
- Ensure that you have selected the correct server in the step Server Selection.
- Continue to the step Select features and select the (Sub-)feature .NET Framework 3.5 (includes .NET 2.0 and 3.0).
- Within the step Confirmation you must specify an alternate source path. On the bottom of the Confirm installation selections screen, click Specify an alternate source path. In the new dialog window Specify Alternate Source Path type the path to the [ISO]:\Sources\SxS on the installation media or the local directory where you have copied the files to. In this example the files were copied to D:\Sources\SxS. Close the dialog window with Ok and start the feature installation by clicking Install on the Confirm installation selections screen.
Select the Installation Type
Select the destination server
Select the feature “.NET Framework 3.5 (includes .NET 2.0 and 3.0)”
Specify an alternate source path
Specify an alternate source path
Install the .NET Framework 3.5 Feature using PowerShell
The following commands must be executed within a PowerShell that was started as an administrator.
You can verify if the .NET Framework 3.5 is already installed by running the following PowerShell command:
PS> Get-WindowsFeature -Name "NET-Framework-Core"
If the .NET Framework 3.5 is not installed, you will receive an output like the following:
Display Name Name Install State ------------ ---- ------------- [ ] .NET Framework 3.5 (includes .NET 2.0 and 3.0) NET-Framework-Core Removed
To install the .NET Framework 3.5 Windows feature, you must run the following command:
PS> Install-WindowsFeature -Name "NET-Framework-Core" -Source "D:\Sources\SxS"
After the command has finished, you will receive an output like this:
Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {.NET Framework 3.5 (includes .NET 2.0 and...
If you run the following command again, the column Install State should show Installed for the .NET Framework 3.5 (includes .NET 2.0 and 3.0) feature:
PS> Get-WindowsFeature -Name "NET-Framework-Core" Display Name Name Install State ------------ ---- ------------- [X] .NET Framework 3.5 (includes .NET 2.0 and 3.0) NET-Framework-Core Installed
Known Issues
There are some system configurations that are incompatible with the described installation options in this blog post and result in weird errors.
For example, we observed such issues on systems that have been upgraded from Windows Server 2008 (R2) to Windows Server 2012 (R2) to Windows Server 2016 and Windows Server 2019 by using the Windows In place Upgrade.
To get the installation of the .NET Framework 3.5 feature working on such systems, we recommend additional research in the internet or to contact the Microsoft Support.
Nevertheless, in this case you can try to install the .NET Framework 3.5 using the Offline Installer provided by Microsoft.
Conclusion
This blog post describes two ways how to install the .NET Framework 3.5 feature on Windows Server 2016 and later. These two ways should work for most of your servers.
However, there are some system configurations that break the described installation options and require manual work to get the installation working. Solutions for these systems are not provided by this blog post!