Fix SCCM Dot NET Version Warning Error During Prerequisite Checks

Let’s fix SCCM Dot NET Version Warning Error during Prerequisite Checks before upgrading to the next version, 2111. ConfigMgr now recommends Microsoft .NET version 4.8 for site servers, specific site systems, clients, and the console.

Microsoft introduced a new recommendation with the release of the 2107 version of ConfigMgr. Microsoft MEM product team recommends updating to .Net version 4.8 for all the SCCM components that use .Net. However, with the release of the 2111 version of ConfigMgr (Nov release), the 4.8 version of Dot Net will be a mandatory requirement.

You can use SQL query to get the details of the Dot Net Framework version installed on server operating systems. The best way is to use SCCM Configuration Item (CI) to collect the Dot Net version details from Windows 10 and Windows 11 PCs.

Patch My PC

Updating Dot Net version on Windows 10 or Windows 11 PCs are going to be a bit challenging. There are many options to update the .Net version on the client side. The challenging part of the DotNet update is the repair and fix update issues of the .Net Framework.

SCCM Issue with Microsoft .Net Version 4.6

I had received a warning related to .Net Framework version 4.6.2 when I tried to install SCCM 2107 hotfix rollup KB11121541. I have seen this warning during the SCCM 2107 upgrade process as well.

As you can see in the warning message, A later version of SCCM will require .NET version 4.8, and I guess this is the SCCM 2111 version, which will get released by the end of Nov 2021. To minimize disruption, before you run Configuration Manager setup, update .NET and restart the system.

1E Nomad

[Completed with 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. For more information, see https://go.microsoft.com/fwlink/?linkid=2165437.

You can check the ConfigMgrPrereq.log to get more details bout the site servers missing Dot NET 4.8 version.

WARN: Found .NET which version is lower than 4.8.
The following machine(s) fail the .NET 4.8 prereq rule.
A .NET version of less than 4.8 has been detected. 4.8 is recommended for this version of ConfgMgr.
CMMEMCM.memcm.com
This rule was run against site:

Fix SCCM Dot NET Version -  SCCM Issue with Microsoft .Net Version 4.6
Fix SCCM Dot NET Version – SCCM Issue with Microsoft .Net Version 4.6

Windows 10 and Windows 11 Versions with .NET Framework 4.8

You will get more details about the Windows 10 and Windows 11 versions that come with a preinstalled version of .NET Framework 4.8. So, if you are running any of these versions of Windows, then you don’t need to worry about the update of the .NET framework.

NOTE! – The only server operating system that comes with a preinstalled version of the .NET Framework is Windows Server 2022.

Operating systemSupported editionsPreinstalled with the OS
Windows 11
(version 21H2)
64-bit.NET Framework 4.8
Windows 10 May 2021 Update
(version 21H1)
32-bit and 64-bit.NET Framework 4.8
Windows 10 October 2020 Update
(version 20H2)
32-bit and 64-bit.NET Framework 4.8
Windows 10 May 2020 Update
(version 2004)
32-bit and 64-bit.NET Framework 4.8
Windows 10 November 2019 Update
(version 1909)
32-bit and 64-bit.NET Framework 4.8
Windows 10 May 2019 Update
(version 1903)
32-bit and 64-bit.NET Framework 4.8
Windows 10 and Windows 11 Versions with .NET Framework 4.8

Find out SCCM Site Systems Require Dot NET Framework Update

You can check the SCCM Management Insights rule to maintain the supported version of .Net Framework for site system roles, secondary, primary servers, client, and console. You can check the management insight rule called Proactive Remediation Update Microsoft .Net Framework on site systems.

The Update Microsoft Dot Net Framework on site systems rule will help you understand the site systems requiring a Dot Net Framework version upgrade or update.

I don’t think this management insight rule will track the .Net Framework versions of ConfigMgr clients and Consoles .Net framework update. You can get the Dot Net Framework update requirement details from the following path for the Site Systems.

\Assets and Compliance\Overview\Devices\Update Microsoft .NET Framework on site systems

NOTE! – .NET Framework 4.8 is the last version of the .NET Framework. .NET Framework is serviced monthly with security and reliability bug fixes. .NET Framework will continue to be included with Windows, with no plans to remove it. You don’t need to migrate your .NET Framework apps, but use .NET 5 or later for new development.

Fix SCCM Dot NET Version Warning Error During Prerequisite Checks -  Find out SCCM Site Systems Require Dot NET Framework Update
Fix SCCM Dot NET Version Warning Error During Prerequisite Checks – Find out SCCM Site Systems Require Dot NET Framework Update

How to Check which version of .NET is Installed?

Now, let’s quickly understand how to check which version of Dot NET is installed on the SCCM site servers? You can use the GUI option or PowerShell command line. The following is the PowerShell Commandline that will help you get the DotNet Framework version installed on the Windows server.

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

How to Check which version of .NET is Installed?
How to Check which version of .NET is Installed?

Now let’s go through my favorite method, and that is using Windows Explorer. You can navigate to the following folder:

  • Open Windows Explorer – C:\Windows\Microsoft.NET\Framework\
  • Check for the latest version Folder and open that folder- v4.0.30319
  • Right-click on any of the .DLL files and go to PropertiesDetails tab.
  • Check the product version of .NET Framework – 4.7.3190.0 (even though it shows a different version in SCCM prerequisite check)
Fix SCCM Dot NET Version Warning Error During Prerequisite Checks
Fix SCCM Dot NET Version Warning Error During Prerequisite Checks

Install .NET Framework 4.8 on SCCM Servers

Let’s try to install .NET Framework 4.8 on SCCM servers secondary server and primary server as per the management insights report mentioned above. I prefer to download the offline version of DotNet Framework ndp48-x86-x64-allos-enu.exe from the following link.

Fix SCCM Dot NET Version Warning Error During Prerequisite Checks 1
Fix SCCM Dot NET Version Warning Error During Prerequisite Checks 11

The installation of DotNET 4.8 is straightforward. But you need to remember that you have to restart the SCCM site servers and site systems server before rerunning the .NET version checks using management insights.

 Install .NET Framework 4.8 on SCCM Servers
Install .NET Framework 4.8 on SCCM Servers

Results

After the restart of the servers, I could see the version; the .NET version got updated. I thought even Management Insights would be happy now with the versions of the .NET. But, Management Insights is not satisfied with the .NET yet.

I will go on and troubleshoot this issue. I will update the post once I get the resolution on this point. I added another section to the blog post where I will discuss about troubleshooting of the issue and resolution.

 Install .NET Framework 4.8 on SCCM Servers
Install .NET Framework 4.8 on SCCM Servers

Troubleshooting Dot Net Version Detection Issue with SCCM Servers?

Michael Cureton from MEM product group helped me to dig deep into it. As explained below, I did install the correct version of the .NET but the SCCM Management Insights were not able to detect the latest version that is installed on the servers.

I did run the following SQL query to understand whether SQL DB got the correct DotNet version for those site servers or not? The SQL query checks whether the DotNet version of discovered system records is greater than Dot NET 4.8 or not. And none of my servers were showing up in the results.

select * from System_DISC where DotNetRelease >= ‘528040’

However, in the registry, it was showing up the correct version of Dot NET.

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
  • Release = 528049
Troubleshooting Dot Net Version Detection Issue with SCCM Servers?
Troubleshooting Dot Net Version Detection Issue with SCCM Servers?

SCCM Server Discovery Component Magic with Dot Net Version Update

The next step was to understand why the registry value is not detected by the Server Discovery component in SCCM. Checked the ntsvrdis.log log to confirm that the servers are being discovered in a timely manner or not? The server discovery job runs every day (24 hours).

You will need to wait for almost 24 hours or until the next SMS_WINNT_SERVER_DISCOVERY_AGENT schedule to get the latest version details of the Dot NET application into SQL DB. Once this data is available in SQL DB, the management insight rule will detect it correctly!

Two make things a bit quicker in the lab, I enabled the verbose logging for the following component that is responsible for server discovery SMS_WINNT_SERVER_DISCOVERY_AGENT. I also did a reset the value of Last Refresh Time.

I restarted the Server Discovery component from ConfigMgr Service Manager to spread up the things. I have explained all these steps in SCCM Server-Side Logging How To Turn On Verbose SQL NAL Logging post.

Fix SCCM Dot NET Version Warning Error During Prerequisite Checks 2
SCCM Server Discovery Component Magic with Dot Net Version Update

Now, in the ntsvrdis.log, I could see the latest version of the .NET version is getting detected – Detected .NET wth with release 528049 on CMMEMCM.MEMCM.COM.

Fix Dot Net Version Reporting Issue with SCCM

Now it’s time to fix Dot NET Version Reporting Issue with SCCM. It’s time to check SCCM Management Insights to confirm whether the correct versions of the .NET framework are getting reflected there or not. You can check the management insight rule called Proactive Remediation Update Microsoft .Net Framework on site systems.

The results from the Management Insight rule are promising. I don’t have any servers with DotNET 4.6 warning or error now. So get ready for SCCM 2111 upgrade later this year. So you have two options:

  • Install .NET 4.8 version and wait for next server disocovery cycle to get the .NET version changes reflected in SQL DB.
  • Speed up the Server Discovery with the process explained above.
Fix Dot Net Version Reporting Issue with SCCM
Fix Dot Net Version Reporting Issue with SCCM

Author

Anoop is Microsoft MVP! He is a Solution Architect on enterprise client management with over 17 years of experience (calculation done in 2018). He is Blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, Intune. He writes about technologies like ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, ACD, etc.…

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.