The disclosure on the EHLO blog that Exchange on-premises servers will run into some known issues if .NET Framework 4.6.1 is installed might surprise some, especially because it has become a recommended update distributed by Windows Update, but it’s not really much of a shock.
Exchange depends on .NET Framework to a larger extent than many other Microsoft applications. The required version remains .NET Framework 4.5.2 because that is the version that the Exchange product group has validated across its complete code base and all supported versions.
The specific issue pointed to in KB3095369 tells of mailboxes being quarantined or databases failing over unexpectedly on Exchange 2013 servers. As you might recall, Microsoft rewrote the Information Store service in Exchange 2013 to remove a lot of outdated and redundant code and generally modernize the service. The old monolithic service was discarded and replaced by worker processes for each database running on a server, all coordinated by a central process. The new code is all based on .NET.
Although Exchange 2013 was the point where the Information Store embraced .NET, that doesn't mean to say that previous versions of Exchange will happily use 4.6.1. A quick glance at the Exchange Supportability Matrix reveals that Exchange 2013 SP3 uses the .NET Framework 3.5 libraries as does Exchange 2007.
The Exchange product team is well aware that .NET Framework 4.6.1 is “in the wild” and are testing it in their labs. Given the size of the environment supported by Exchange Online where hundreds of millions of mailboxes are run across the world, it makes sense that they should take the time necessary to ensure that the new version of the .NET Framework is solid. No one wants to see users deprived of their email because their mailbox has been quarantined for no good reason.
I expect that the .NET Framework 4.6.1 will be supported by Exchange in the near future. In the interim, don’t deploy it on any Exchange server. Unless of course you like playing with fire!
Update: MVP Jeff Guillet has documented how to remove .NET Framework 4.6.1 from your servers if Windows Update went ahead and updated the software automatically. Head over to expta.com for more information. In particular, note the warning that removing 4.6.1. means that all of the .NET assemblies used by Exchange will be recompiled. Exchange uses .NET extensively so there are many assemblies to be recompiled.
Update: The Skype product group has recommended that you don't install .NET Framework 4.6.1 on servers running Skype for Business 2015 or Lync Server 2013.
Follow Tony @12Knocksinna