Essentials 2016 Dashboard Fails with .NET 4.7.1

I blogged in October 2016 and February 2018 about incompatibilities between the Essentials 2012 R2 dashboard and .NET 4.6 and 4.7. I’ve now confirmed that under Server 2016 Standard with the Essentials role, the dashboard is incompatible with .NET 4.7.1. Once .NET 4.7.1 is installed (by installing the May 8, 2018 rollup KB4103723 or a later rollup), you will no longer be able to ignore alerts.

Downgrading to .NET 4.7 should solve this issue, but because 4.7.1 was included in a rollup, you may have to uninstall several updates to roll back to 4.7. It’s probably easier to remove 4.7 altogether.

Note Any change to .NET could cause issues with server applications or components. Proceed at your own risk!

Determine Your .NET Version

On Server 2016, open a PowerShell prompt and run this on one line (you can also directly inspect the value in regedit if you prefer):

Get-ChildItem "HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release

Compare to the Release numbers for Server 2016 in this article. Here is an abbreviated list:

394802 – 4.6.2 – Initial version for Server 2016

460805 – 4.7 – installed by stand-alone update KB3186568

461310 – 4.7.1 – installed by May 8, 2018 rollup KB4103723 or a later rollup

461814 – 4.7.2 – As of April 17, 2019, per KB4054590, only available as a catalog download for Server 2016. However I found that the web installer, described here, also works on Server 2016.

Block Installation of .NET 4.7 and Later

Save the following text to a file named “Block .NET 4.7.reg” and merge it to your server.

Update May 17, 2019  Added block for .NET 4.8, released May 10, 2019.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\WU]
"BlockNetFramework47"=dword:00000001
"BlockNetFramework471"=dword:00000001
"BlockNetFramework472"=dword:00000001
"BlockNetFramework48"=dword:00000001

This is based on the approach outlined in KB4024204 and KB4052152.

Downgrade to .NET 4.6.2

If your .NET version is 4.7 or later, open Control Panel > Programs and Features > Installed Updates, search for KB3186568, and uninstall it:

Essentials 2016 with .NET 2

Note I did this after uninstalling and blocking .NET 4.7.1, before deciding to uninstall 4.7 as well. If you are not able to directly uninstall KB3186568, you may need to uninstall the May 2018 (and following) rollups first. This article has further information about uninstalling and blocking .NET 4.7 (for Microsoft Exchange compatibility).

Run the PowerShell command again to confirm that you are on .NET 4.6.2.

You should now be able to hide dashboard alerts.

As long as the “BlockNetFramework” registry entries are in place, when you apply update rollups, they will no longer install .NET 4.7, 4.7.1, or 4.7.2. KB3186568 does not re-install.

Remaining Issue

Even after uninstalling 4.7, you will not be able to re-activate hidden alerts. The progress bar just runs forever:

Essentials 2016 with .NET 1

You may also get dashboard crashes.

As a workaround, delete the alert. It should be re-detected if the condition still exists.

Can’t delete the alert either, again seeing an endless progress bar? Try to re-activate it. That worked for me one time.

Update 17 July 2018

.NET 4.7.2 is releasing to Windows 10 1607 this month via Windows Update, but it looks like so far it it is only available from the Windows Catalog for Server 2016. See this article. Be prepared by blocking .NET 4.7.2 in the registry as shown above.

Add your vote to the UserVoice issue here:
https://windowsserver.uservoice.com/forums/295047-general-feedback/suggestions/34562071-fix-net-incompatibility-with-essentials-dashboard

Update October 26, 2018

As mentioned above, even with .NET 4.6.2 on Server 2016 with the Essentials role, I am unable to ignore alerts. This time I did not want to delete it; I need to permanently ignore it. I decided to try the My Server 2012 R2 app. I installed the app from the Microsoft Store on a Windows 10 Pro 1803 machine, logged on the the (remote) 2016 server, and chose Ignore:

The warning changed from yellow to gray in the dashboard:

11 thoughts on “Essentials 2016 Dashboard Fails with .NET 4.7.1

  1. Rick

    I have the update after the May 8 one (i.e. the latest one), but am still at 4.7:
    https://imgur.com/QPrn06F

    I did happen to skip the May 8 update though, so perhaps that’s why (though that would mean they’re not strictly cumulative).

  2. Mark Berry Post author

    Rick, that is interesting. With 4.7, you still can’t hide alerts on the dashboard, can you?

  3. Rick

    Right, ignore and delete don’t seem to complete, though I didn’t let them go for more than 5 minutes. I don’t have any context as to when this started, since I hadn’t gone into that area in about a year. Perhaps with 4.7.

  4. Mark Berry Post author

    Well you could try removing 4.7 if you’re comfortable with that. Worked for me but can’t say if 4.7 is needed in your environment.

  5. Sheldon LeBreton

    I never have had anything newer then .net 4.6.2 but have same issue.

  6. Mark Berry Post author

    Sheldon, what is the value of HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release on your Server 2016 Essentials server?

  7. Alex

    I am on 4.6.2 and i have this problem like everyone in the world, you can’t downgrade this framework since is built into 2016 .. lol

  8. kip

    All my boxes with Windows server 2016 w/ essentials experience role are more or less becoming unusable because if various things like this .net thing. And there is, or it feels like there is no support from Microsoft regarding the essentials products

  9. Rick

    @Kip: And with the announcement about the next version, now we know why.

Leave a Reply

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.