Fix SCCM Dot NET Prerequisite Check Warning

When you run SCCM prerequisite check, you may encounter Dot NET prerequisite warning. Let’s see how to fix the SCCM Dot NET prerequisite check 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 prerequisite check.

The Dot NET 4.8 Prerequisite check warning will also appear while installing the SCCM 2111 update and even SCCM 2203. 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.

There is an easy way to fix the dot net prerequisite warning in SCCM. 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 detection issue in SCCM.

What is Dot Net Prerequisite Check 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 dot net version error during the prerequisite check from the update status in 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.

.NET 4.8 or higher is not installed on Server indicates that a lower version of Dot Net framework is installed for SCCM. Based on the above warning, it means that Microsoft recommends installing the .NET version 4.8 for the Configuration Manager.

The upcoming versions of Configuration Manager such as version 2203 will require .NET version 4.8. To minimize disruption, before you run Configuration Manager setup, update .NET to version 4.8 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 also comes with a preinstalled version of the .NET framework 4.8.

Fix SCCM Dot NET Prerequisite Check Warning

Starting with Configuration Manager 2107, a new prerequisite check is added where it requires at least .NET version 4.6.2, but recommends the latest version 4.8. The dot net prerequisite check warning is resolved after you install the .NET Framework 4.8 on SCCM server.

The SCCM Dot NET prerequisite warning appears when you run a prerequisite check before installing the update. Note that it’s only a warning and will not halt your SCCM 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.

Configuration Manager setup doesn’t automatically install .NET version 4.8 for you. 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 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

It takes few minutes to install the dot net framework 4.8. 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. Without the server reboot, SCCM will still report a Dot NET version error during prerequisite check.

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

After you have installed .NET framework 4.8, let’s run the SCCM update prerequisite check again. From the update pack installation status, we see that SCCM Dot NET prerequisite warning is fixed now. You can now proceed with SCCM update installation.

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

Update Dot 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.

Management insights in Configuration Manager provide information about the current state of your environment.

You can check the management insight rule called Proactive Remediation – Update Microsoft .Net Framework on site systems to detect SCCM Dot NET prerequisite.

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. Ensure you restart SCCM server after installing the Dot Net Framework.

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 SCCM dot NET prerequisite check warning that appears during the ConfigMgr 2107 prerequisite check.

12 Comments

  1. In-spite of installing latest 4.8 and the error refused to go. Tried all the what-you-can-do approach.

    By reading your article, noted that DB was not getting updated and even after server restarts and waiting for 2 days nothing changed, regardless.. just modified the data directly by using update statement below, and BOOM the problem disappeared. and was able to get past the error. Thanks to you for giving the crucial lead !!

    Below statement showed all those deadwood entries
    Select * from System_DISC where DotNetRelease >=’52000′

    Update statement below ran.. one-by-one using itemkey unique value…
    UPDATE System_DISC
    set dotnetrelease=528049
    where itemkey= 16778295;

    Hope it helps some one.. Cheers !

  2. I noticed that after upgrading .NET to v4.8 yesterday evening, rebooting, patching and rebooting again, that even 2h later, the Management Insights did not see it when asked to re-evaluate it. I had verified the installs were correct by checking the registry.
    Fortunately, by next morning, (>12h later), all was well and it now sees it.

  3. I have tried everything in this thread, but am still not able to get past this Prerequisite check warning.
    I have also spun up a second standalone instance of sccm with no devices/assets and I’m still unable to update and getting the same error.

    I have confirmed that .net4.8 is installed on all sites, and the clients are all Win10 20H2 or later.

    Thanks for your help with this!

  4. Thank you! This is how I got it working.

  5. Avatar photo Jeff Browning says:

    After installing .Net 4.8, config manager console will not open. I cannot connect to my Site Database.

    1. What’s the ConfigMgr version?. Did you restart the server and check if it works?.

  6. Avatar photo AMOL THAKUR says:

    Can you let me know on which Role of site systems required dotnet 4.8 version upgrade

  7. 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

    1. Thank you sir! You saved my day (night)
      Also thanks PD for this great article

    2. Avatar photo Russell J says:

      Resetting the refresh time worked for me, as the agent was using cached results and never updating. Thanks PD as well for pointing out the problem and solution.

Leave a Reply

Your email address will not be published. Required fields are marked *