Easily Fix SCCM Dot NET 4.8 Prerequisite Warning

When you run SCCM 2107 prerequisite check, you may encounter Dot NET 4.8 Framework warning. Let’s see how to fix the SCCM Dot NET 4.8 prerequisite warning.

With the release of SCCM 2107, Microsoft added a new prerequisite check for .NET version 4.8. If the .NET version 4.8 is not installed on the servers, the warning appears during the SCCM 2107 prerequisite check.

The Dot NET 4.8 Prerequisite Warning will also appear while installing the SCCM 2111 update. Microsoft recommends installing the .NET version 4.8 on all the SCCM servers and components that use .NET framework.

During the Configuration Manager setup, if SCCM site systems have a version earlier than 4.6.2, you’ll see a prerequisite check warning related to .NET framework version.

You can easily fix the dot net prerequisite warning. Before we do that, let’s look at some details about this warning and understand how you can fix it. This updated post also contains the solution to .NET 4.8 detection issue in SCCM.

What is .NET 4.8 Prerequisite Warning in SCCM?

First, let’s see the exact .NET 4.8 Prerequisite warning that is logged in ConfigMgrPrereq.log file. You should see the same prerequisite warning when you check the update status from Monitoring workspace. Select the Prerequisite Check warning and then select the entry Check if .NET is at least version 4.8.

Recommended version of Microsoft .NET Framework. Warning – Configuration Manager requires at least .NET version 4.6.2, but recommends the latest version 4.8. A later version of Configuration Manager will require .NET version 4.8. To minimize disruption, before you run Configuration Manager setup, update .NET and restart the system.

SCCM Dot NET 4.8 Prerequisite Warning
SCCM Dot NET 4.8 Prerequisite Warning

In the ConfigMgrPreReq.log you will find the following lines related to Dot Net 4.8 prerequisite warning.

WARN: .NET 4.8 or higher is not installed on Server.
WARN: Found .NET which version is lower than 4.8. Configuration Manager Prereq
The following machine(s) fail the .NET 4.8 prereq rule. Configuration Manager
Recommended version of Microsoft .NET Framework; Warning; Configuration Manager requires at least .NET version 4.6.2, but recommends the latest version 4.8. A later version of Configuration Manager will require .NET version 4.8. To minimize disruption, before you run Configuration Manager setup, update .NET and restart the system.

Based on the above warning, it means that Microsoft recommends installing the .NET version 4.0 for that Configuration Manager.

The upcoming versions of Configuration Manager will require .NET version 4.8. To minimize disruption, before you run Configuration Manager setup, update .NET and restart the system.

Windows 10 Versions with .NET Framework 4.8 Preinstalled

The below table lists all the Windows 10 versions preinstalled with .NET framework 4.8.

Windows 10 Operating SystemPreinstalled .NET Framework
Windows 10 21H2 (64-bit and 32-bit).NET Framework 4.8
Windows 10 21H1 (64-bit and 32-bit) .NET Framework 4.8
Windows 10 20H2 (64-bit and 32-bit) .NET Framework 4.8
Windows 10 2004 (64-bit and 32-bit) .NET Framework 4.8
Windows 10 1909 (64-bit and 32-bit) .NET Framework 4.8
Windows 10 1903 (64-bit and 32-bit) .NET Framework 4.8
Windows 10 Versions with .NET Framework 4.8 Preinstalled

For the older versions of Windows 10 installed with .NET Framework 4.6.2, you must manually upgrade the .NET Framework 4.6.2 to 4.9 version.

Read: How to deploy Dot Net Framework 4.x using SCCM

Note: If you are using Windows 11, all the Windows 11 versions comes preinstalled with .NET Framework 4.8. The Windows Server 2022 operating system comes with a preinstalled version of the .NET framework 4.8.

Fix SCCM Dot NET 4.8 Prerequisite Warning

The Configuration Manager 2107 adds a new prerequisite check where it requires at least .NET version 4.6.2, but recommends the latest version 4.8. The warning is fixed after you install the .NET Framework 4.8.

The SCCM 2107 Dot NET 4.8 prerequisite warning appears when you run a prerequisite check before installing the update. It must be noted that this is only a warning and will not halt your 2107 update installation.

However, Microsoft clearly states that you must update the .NET framework to version 4.8 so that you don’t encounter this warning when you install the next release, which will be SCCM 2111.

Configuration Manager setup doesn’t automatically install .NET version 4.8. You have to download the .NET version 4.8 from Microsoft site and install it manually. Let’s download the offline installer for Dot NET 4.8.

To fix the SCCM Dot NET 4.8 prerequisite warning, run the .NET version 4.8 offline installer as administrator on the site server. Click Install.

Fix SCCM Dot NET 4.8 Prerequisite Warning
Fix SCCM Dot NET 4.8 Prerequisite Warning

The Microsoft .NET Framework 4.8 has been installed. You must restart the server after the .NET 4.8 installation.

Important: You must reboot the server after you install the .NET Framework 4.8.

Fix SCCM Dot NET 4.8 Prerequisite Warning
Fix SCCM Dot NET 4.8 Prerequisite Warning

Let’s run the SCCM update prerequisite check again. From the update pack installation status. We have successfully fixed the SCCM Dot NET 4.8 prerequisite warning. You can now proceed with SCCM 2107 update installation.

SCCM Dot NET 4.8 Prerequisite Warning
SCCM Dot NET 4.8 Prerequisite Warning

Update Microsoft .NET Framework on SCCM Site Systems

After you have installed the .NET Framework 4.8 on the site systems, you can use the Management Insights to find out if any of the SCCM Site Systems require Microsoft .NET Framework update.

The Proactive Remediation – Update Microsoft .NET Framework on site systems management insights rule checks the site systems that don’t yet have .NET version 4.8 or later.

To run the Update Microsoft .NET Framework on site systems management insights rule:

  • Launch the Configuration Manager console.
  • Go to Administration\Overview\Management Insights\All Insights\Proactive Maintenance.
  • Right click the rule Update Microsoft .NET Framework on site systems and select Evaluate.
Rule to Update Microsoft .NET Framework on SCCM Site Systems
Rule to Update Microsoft .NET Framework on SCCM Site Systems

In case the Management Insights rule fails to detect the dot net framework 4.8 installed, you can manually verify the .NET framework version using PowerShell.

Check the Installed .NET Framework version on SCCM Server

After you install the .NET framework version 4.8 on SCCM servers, you can verify the .NET framework version using PowerShell.

  • On your computer click Start and launch PowerShell as administrator.
  • In the PowerShell window, copy the below command and press enter key.
  • The output contains the list of .NET Framework versions installed on your computer.
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version
Check the Installed .NET Framework version on SCCM Server
Check the Installed .NET Framework version on SCCM Server

The above PowerShell command lists all the .NET Framework versions installed on SCCM server. The latest Dot Net Framework version that the server has is 4.8.04161 which confirms the .NET Framework 4.8 is installed on SCCM server.

  • Client – 4.8.04161
  • Full – 4.8.04161

Troubleshoot .NET Framework 4.8 Detection Issue in SCCM

One of the common issues reported during the SCCM upgrade is the installed .NET framework 4.8 is not detected by SCCM. Even though the Dot Net framework 4.8 is installed and server is rebooted, the .NET framework isn’t detected by SCCM at all.

Let’s troubleshoot why the dot net 4.8 version is not detected by SCCM. First, let’s run a simple SQL query to determine what version of .NET framework is installed on servers as per SQL DB.

Select * from System_DISC where DotNetRelease >='528040'

In the Query output, check the DotNetRelease value and in this example the value is 528449. This confirms the dot net 4.8 version is correctly detected by SCCM.

In some cases, the DotNetRelease value is not updated in the DB and that’s the reason why the .NET 4.8 prerequisite warning appears even though it is installed on the server.

Troubleshoot .NET Framework 4.8 Detection Issue in SCCM
Troubleshoot .NET Framework 4.8 Detection Issue in SCCM

Another quick check that you can do to troubleshoot the .NET 4.8 detection issue is by verifying the Release key in Registry.

On the SCCM server where you have the dot net 4.8 detection issue, navigate to the following registry path.

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

Now take a look at the Release key value which is usually in hexadecimal format. Double-click the Release key and select the base as Decimal. The decimal value data is now 528449 which matches the value that the above SQL query resulted.

Troubleshoot .NET Framework 4.8 Detection Issue in SCCM
Troubleshoot .NET Framework 4.8 Detection Issue in SCCM

If you are encountering the .NET 4.8 detection issue, you may see a lower value for release key in the registry. But that’s rare, and it could mean that .NET 4.8 was not properly installed.

Check the NTSVRDIS.log on SCCM Server

Even though the release key registry value is 528449, you may still encounter the .NET 4.8 prerequisite warning. Now you must check the NTSVRDIS.log which is a log file for Configuration Manager server discovery.

The ntsvrdis.log (SMS_WINNT_SERVER_DISCOVERY_AGENT) – server discovery log runs every 24 hours and updates the server discovery. The ntsvrdis.log file logs information about the .NET 4.8 detection. Since the dot net 4.8 version that we installed is correct, but it looks like the dot net 4.8 registry key value is still undetected by SCCM.

Here you got 2 options:

  1. Either wait for the SMS_WINNT_SERVER_DISCOVERY_AGENT to run again in next 24 hours.
  2. Restart the SMS_WINNT_SERVER_DISCOVERY_AGENT using the Configuration Manager Service Manager and review the updated ntsvrdis.log file.

To restart the SMS_WINNT_SERVER_DISCOVERY_AGENT using the Configuration Manager Service Manager, launch the ConfigMgr console. Go to Monitoring\Overview\System Status\Component Status. Right click SMS_WINNT_SERVER_DISCOVERY_AGENT component and select Start > Configuration Manager Service Manager.

In the Configuration Manager Service Manager window, right click SMS_WINNT_SERVER_DISCOVERY_AGENT and select Stop and then select Start.

SMS_WINNT_SERVER_DISCOVERY_AGENT
SMS_WINNT_SERVER_DISCOVERY_AGENT

After you restart the SMS_WINNT_SERVER_DISCOVERY_AGENT, review the ntsvrdis.log file that logs the information about the .NET 4.8 detection.

Look for the line “Detected .NET with the release 528449 on SCCM SERVER“. If you see the correct release version, you should not see the SCCM Dot NET 4.8 Prerequisite warning anymore.

The following video tutorial covers the steps to fix the .NET framework 4.8 prerequisite warning that appears during the ConfigMgr 2107 prerequisite check.

2 thoughts on “Easily Fix SCCM Dot NET 4.8 Prerequisite Warning”

  1. Hey

    To make SMS_WINNT_SERVER_DISCOVERY_AGENT discover the newly installed Framework – set
    “Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\COMPONENTS\SMS_WINNT_SERVER_DISCOVERY_AGENT\Last Refresh Time” to 0 before starting SMS_WINNT_SERVER_DISCOVERY_AGENT

    Reply

Leave a Comment