On .NET Framework 4.6.1 and Exchange compatibility
Published Feb 10 2016 01:14 PM 117K Views
Microsoft

Update (October 2016): The information in this blog post is now outdated. Blocking of .NET 4.6.1 is not needed anymore, as long as relevant updates are installed. Please see this article for more information as well as Exchange Supportability Matrix for versions of .NET that Exchange Server supports.

We wanted to post a quick note to call out that since yesterday, the .NET Framework 4.6.1 has been made a recommended update on WU (Windows Update). As we have already stated in the Exchange Supportability Matrix, at this time, this version of .NET framework is not supported by Exchange. In fact, we know of some issues if it is installed. We are working with the .NET team to ensure that Exchange customers have a smooth transition to .NET Framework 4.6.1, but in the meantime, delay this particular .NET update on your Exchange servers (information on how this can be accomplished can be found in the KB article 3133990, How to temporarily block the installation of the .NET Framework 4.6.1).

Update 2/12/2016:

We had several questions on how our customers should go about rolling back to .NET Framework 4.5.2 if 4.6.1 was already automatically installed. Here are the steps:
  1. If the server has already automatically updated to 4.6.1 and has not rebooted yet, do so now to allow the installation to complete
  2. Stop all running services related to Exchange.  You can run the following cmdlet from Exchange Management Shell to accomplish this:  (Test-ServiceHealth).ServicesRunning | %{Stop-Service $_ -Force}
  3. Go to add/remove programs, select view installed updates, and find the entry for KB3102467.  Uninstall the update.  Reboot when prompted.
  4. Check the version of the .NET Framework and verify that it is showing 4.5.2.  If it shows a version prior to 4.5.2 go to windows update, check for updates, and install .NET 4.5.2 via the KB2934520 update.  Do NOT select 4.6.1/KB3102467.  Reboot when prompted.  If it shows 4.5.2 proceed to step 5.
  5. Stop services using the command from step 2.  Run a repair of .NET 4.5.2 by downloading the offline installer, running setup, and choosing the repair option.  Reboot when setup is complete.
  6. Apply the February security updates for .NET 4.5.2 by going to Windows update, checking for updates, and installing KB3122654 and KB3127226.  Do NOT select KB3102467.  Reboot after installation.
  7. After reboot verify that the .NET Framework version is 4.5.2 and that security updates KB3122654 and KB3127226 are installed.
  8. Follow the steps here to block future automatic installations of .NET 4.6.1.
Thanks to Marc, Nasir and Brett for testing the above to make sure it all works as expected! Nino Bilic
18 Comments
Not applicable
Thanks for the immediate update on this topic.
Not applicable
Thanks Nino. I was just about to install .NET Framework 4.6.1 yesterday, as it was buried amongst many other .NET Framework 4.5.1 ‘Patch Tuesday’ Updates. Thankfully I checked the Exchange Supportability Matrix and un-checked it!
Not applicable
Thanks Nino, does this issues affect Exchange 2010 as well?
Not applicable
Identifying the exact installed version of .NET Framework is unnecessarily convoluted.


What is the procedure to safely remove .NET Framework 4.6.1 from an Exchange server if it is installed already?


What is the procedure to safely remove .NET Framework 4.6 from an Exchange server if it is installed already?

Not applicable
@ MarcBeth: In short, .NET Framework 4.6.1 applies to Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2. As per the supportability matrix, it is currently not supported by any version of Exchange server that might run on any combination

of mentioned server versions.

Not applicable
@MarcBeth

No version of .NET 4.6 is supported with Exchange 2010. Please see the Supportability Matrix for details.

https://technet.microsoft.com/en-us/library/ff728623(v=exchg.150).aspx

While Exchange 2010 technically only uses .NET 3.5 (or 3.5 SP1), installing .NET 4.6 (or 4.6.1) on an Exchange 2010 server (or any version of Exchange including Exchange Server 2016) is still not supported.

Not applicable
@Sime3000 - if the update to 4.6.1 was already installed, you can simply uninstall it. That will roll the machine back to the previous version that was installed before 4.6.1
Not applicable
Nino,


What I was getting at was that its not easy to identify exactly what version of .NET Framework is installed and its not easy to identify which update to remove in Programs & Features. I don't understand why the .NET folks have made this so convoluted - people

don't have hours to waste searching the registry or running some code to get these answers.


I believe that the update to remove for .NET Framework 4.6 on Windows 2012 R2 is KB3045563 but its not obvious which update (KB#) to remove to uninstall .NET Framework 4.6.1 . What specific KB# is that ?


Thanks


Sime


Not applicable
@Sime - ah I see; yeah... personally I feel the readability of the whole WU update history can use some improvements...


From what I see, the KB article in question and the update on WS 2012 R2 is listed as KB 3102467 (http://support.microsoft.com/en-us/kb/3102467)

Not applicable
Note that after installing 4.6.x you will need to reinstall 4.5.2.
Not applicable
FYI - In case you have .NET Framework 4.6.2 installed on your servers, here's how to remove it:

http://www.expta.com/2016/02/how-to-uninstall-net-framework-461.html

Not applicable
FYI there are a few ways to check for the .NET framework version.


1. HealthChecker.ps1 will tell you (https://gallery.technet.microsoft.com/Exchange-2013-Performance-23bcca58)

2. Check the registry.


Path: HKLMSOFTWAREMicrosoftNET Framework SetupNDPv4FullRelease

If the number is greater than 394271, you have .NET 4.6.1 or later installed. .NET 4.5.2 will have a value between 379893 and 393297.

Not applicable
Hi guys,


your last updates killed me 2 exchange 2016 servers! Great, thak you! And that without .Net Framework 4.6!

What teh hel did you made?

Not applicable
Greate Information
Not applicable
Was helping a customer this week and found a few patches, available since August 2015, that we had to remove to get back to 4.5.2. I've created a script to help customers find the 3 patches specific to Windows Server 2012 or 2012 R2 that need to be removed.

https://gallery.technet.microsoft.com/scriptcenter/Check-for-Net-Version-677f73d6


I hope this helps customers quickly see which patches to remove, instead of scouring the internet and removing one at a time to get back to a supported .Net version.

Not applicable
Thanks Nino. In our environment, we run 3 Exchange 2013 servers where I have installed CU10 after this update (KB3102467) and are running smoothly. In this case, shall I follow the same removal process? Would that lead to any consequences since the update

been installed before CU10? Thanks

Not applicable
Problems like this are unprofessional.
Copper Contributor

Hey guys. Sorry to bring this junk over here, but I need some help.
Servers windows server 2008 R2 SP1 with exchange 2010 version 14.03.0513.000. I need to update the .net framework to at least 4.6.2. Any problem doing this?
Today they already have these versions:
.net 4.7.2 (4.7.03062)
.net 4.5.2 (4.5.51209)

Version history
Last update:
‎Jul 01 2019 04:26 PM
Updated by: