Blog Post

Exchange Team Blog
3 MIN READ

.NET Framework 4.7 and Exchange Server

The_Exchange_Team's avatar
The_Exchange_Team
Platinum Contributor
Jun 13, 2017

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:

(Test-ServiceHealth).ServicesRunning | %{Stop-Service $_ -Force}

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: The Exchange Team
Updated Jul 01, 2019
Version 2.0

87 Comments

  • go to Exchange online, than you don't have to deal with this;-)
  • The article does not mention why - what happens when the 4.7 framework gets installed? Does "not supported" mean "I am on my own" or "everything stops working"?
  • This procedure at step 5) doesn't seem to work for Windows 2016 Server and Exchange 2016.

    How do you repair the Windows 2016 Server .Net 4.6.2 install?

  • Are they really friends in the .NET team? :-)

    I gently suggest that you as a company handle this another way, the update should not be visible on Exchange server where is not combatable. Updates from MS has been very stable for many years now, and technicians will probably roll out the update.

    So for MS creditable please escalate this and make sure it's is not available on where is not compatible.

    Best regards

    Bengt

  • I installed this just a few mins ago, I only installed on my 2013 edge with cu16 on 2012r2, with .net4.6.2, it rebooted and somehow works, I'm able to send and receive email. Though I have an exising issue with this edge server, it will suddenly eat up all virtual mem, and sometimes the transport service will suddenly stop, figured I'd install the latest .net, I was about to rebuild the vm, but now I'll see if it actually fixes it. Is it supposed to instantly break exchange after installing?
    • Deleted's avatar
      Deleted
      To Carlo-it, June 13, 2017,

      What did you do to solve the problem of the sudden disappearance of your virtual mem?

    • Deleted's avatar
      Deleted
      +1 my customer reported Processor reduction after mistakenly installing it and they are not willing to uninstall the update even after sharing this blog.

      I can't understand why .net team does not talk to Exchange team before releasing it or why can't they add a prerequisite check to do not install if it is an exchange server.

  • The link for the instructions to block future automatic installations is not working. Can you post those instructions directly or fix the link. Thanks
    • Deleted's avatar
      Deleted
      Hi Todd, the link is working for me and should be correct. However, here are the steps it outlines if you are still unable to reach it.
      • Deleted's avatar
        Deleted
        Hi Brian,

        I think they are referring to the link in 'Item 8.' That does seem to be just the word 'here' in blue text.

        The link higher up, at the end of paragraph 3 works just fine.

  • Re:Simon

    dream on buddy, dream on!

  • I can't believe this. You release Exchange 2013 after Windows Server 2012 R2 is released, but it was not supported until a future CU. Now Microsoft is releasing a .NET framework version that Exchange does not support. It's ridiculous.
  • Can't you please make sure that Windows Update takes care of this automatically? Is it that hard to automatically delay the update on servers running Exchange? I'd expect Windows Update to support this kind of rules.