Update 6/15/2017: Added a clarification that .Net Framework 4.7 has shipped and that we are still validating this release with Exchange Server.
We wanted to post a quick note to call out that our friends in .NET have released the .NET Framework 4.7 to Windows Update for client and server operating systems it supports.
We are in the process of validating Exchange Server on the .NET Framework 4.7, but the work is not yet complete. We will be sure to release additional information and update the Exchange supportability matrix when .NET Framework 4.7 is supported with Exchange Server. We are working with the .NET team to ensure that Exchange customers have a smooth transition to .NET Framework 4.7, but in the meantime, please delay this particular .NET update on your Exchange servers. Information on how this block can be accomplished can be found in article 4024204, How to temporarily block the installation of the .NET Framework 4.7.
It’s too late, I installed it. What do I do now?
If .NET Framework 4.7 was already installed, we recommend you back to .NET Framework 4.6.2 Here are the steps:
Note: These instructions assume you are running the latest Exchange 2016 Cumulative Update or the latest Exchange 2013 Cumulative Update as well as .NET Framework 4.6.2 prior to the upgrade to .NET Framework 4.7 at the time this article was drafted. If you were running a version of .NET Framework other than 4.6.2 or an older version of Exchange prior to the upgrade of .NET Framework 4.7, then please refer to the Exchange Supportability Matrix to validate what version of .NET Framework you need to roll back to and update the steps below accordingly. This may mean using different offline/web installers or looking for different names in Windows Update based on the version of .NET Framework you are attempting to roll back to if it is something other than .NET Framework 4.6.2.
1. If the server has already updated to .NET Framework 4.7 and has not rebooted yet, then reboot 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:
3. Depending on your operating system you may be looking for slightly different package names to uninstall .NET Framework 4.7. Uninstall the appropriate update. Reboot when prompted.
On Windows 7 SP1 / Windows Server 2008 R2 SP1, you will see the Microsoft .NET Framework 4.7 as an installed product under Programs and Features in Control Panel.
On Windows Server 2012 you can find this as Update for Microsoft Windows (KB3186505) under Installed Updates in Control Panel.
On Windows 8.1 / Windows Server 2012 R2 you can find this as Update for Microsoft Windows (KB3186539) under Installed Updates in Control Panel.
On Windows 10 Anniversary Update and Windows Server 2016 you can find this as Update for Microsoft Windows (KB3186568) under Installed Updates in Control Panel.
4. After rebooting check the version of the .NET Framework and verify that it is again showing version 4.6.2. You may use this method to determine what version of .NET Framework is installed on a machine. If it shows a version prior to 4.6.2 go to Windows Update, check for updates, and install .NET Framework 4.6.2. If .NET Framework 4.6.2 is no longer being offered via Windows Update, then you may need to use the Offline Installer or the Web Installer. Reboot when prompted. If the machine does show .NET Framework 4.6.2 proceed to step 5.
5. After confirming .NET Framework 4.6.2 is again installed, stop Exchange services using the command from step 2. Then, run a repair of .NET 4.6.2 by downloading the offline installer, running setup, and choosing the repair option. Reboot when setup is complete.
6. Apply any security updates specifically for .NET 4.6.2 by going to Windows update, checking for updates, and installing any security updates found. Reboot after installation.
7. After reboot verify that the .NET Framework version is 4.6.2 and that all security updates are installed.
8. Follow the steps here to block future automatic installations of .NET Framework 4.7: