Exchange 2016 CU21 Released

Exchange 2016 CU21 has been released to the Microsoft download centre!  Exchange 2016 has a different servicing strategy than Exchange 2007/2010 and utilises Cumulative Updates (CUs) rather than the Rollup Updates (RU/UR) which were used previously.    CUs are a complete installation of Exchange 2016 and can be used to install a fresh server or to update a previously installed one. Exchange 2013 has the same servicing methodology.

Download Exchange 2016 CU21

This is build 15.01.2308.008 of Exchange 2016 and the update is helpfully named ExchangeServer2016-x64-CU21.iso which allows us to easily identify the update.  Details for the release are contained in KB 5003611.

Exchange 2016  has transitioned out of  mainstream support lifecycle, and is now it the extended support phase of its lifecycle.

Updates Of Particular Note

Update 21-7-2021  “Object reference not set to an instance of an object” error and Setup fails in Exchange 2019 CU10 and 2016 CU21  - please note that setup will fail if the default computers Containers has been removed or renamed.

Exchange 2016 CU21 includes all previously released security updates. This is nothing new, but is of particular importance given the recent issues with Hafnium.

The latest DST time zone updates are also included.

This release was slightly delayed as previously announced.  This was done to add in an additional security feature.  Exchange 2016 and 2019 now have integration with the Antimalware Scan Interface (AMSI), which you can read more about here.  This feature requires the underlying OS to support it, and that is present in Windows Server 2016 and 2019.  It is NOT present in Windows Server 2012 R2.   Thus Exchange 2016 must be installed onto Windows Server 2016 to be able to leverage AMSI.

AMSI integration allows an AMSI capable solution to scan content in the HTTP requests sent to Exchange and block malicious requests before those requests are processed by Exchange.  Scanning is performed in real time.

This is separate to the existing Antimalware capability which would scan a message after Exchange received it.

Note that there are some known issues when preparing AD which are discussed in the release KB.  There are additional operations required for multiple domain environments where /PrepareAD needs to be executed manually in the other domains.

This CU still has the Autodiscover EventID 1 error in the Application event log.  See KB 4532190 for details.

Please note  that .NET Framework 4.8 is a requirement.  See this post if installing .NET and the Exchange CU in the same maintenance window.

Details are listed in the Exchange Server prerequisites.  Also note the requirement for Visual C++ Redistributable Package for Visual Studio 2013.

Exchange 2016 CU21 has schema changes,  details here.

Issues Resolved

This cumulative update also fixes the issues that are described in the following Microsoft Knowledge Base articles:
  • 5004612 Message body not displayed in OWA if the message was added in Outlook to a new mailbox
  • 5004613 OutOfMemory exception when moving a public folder that has a large ICS sync state
  • 5004614 Korean text is garbled in calendar invitation to a user with a Chinese display name
  • 5004615 "InvalidOperationException" and Store Worker process crashes during mailbox move
  • 5004616 Changing the email address in EAC doesn't work in modern browsers
  • 5004618 MSExchangeMailboxAssistants 4999 Crash in ELCAssistant.InvokeInternalAssistant with System.NullReferenceException
  • 5004619 Mailbox creation through ECP fails after installing Exchange Server 2019 or 2016 April update
  • 5004629 No version updating after you install Exchange Server 2016

Some Items For Consideration

Exchange 2016 follows the same servicing paradigm for Exchange 2013 which was previously discussed on the blog.  The CU package can be used to perform a new installation, or to upgrade an existing Exchange Server 2016 installation to this CU.  Cumulative Updates are well, cumulative.  What else can I say…

Customers with a hybrid Exchange deployment, must keep their on-premises Exchange servers updated to the latest update or the one immediately prior ( N or N-1).

  • Test the CU in a lab which is representative of your environment

  • Review this post to also factor in AD preparation which is to be done ahead of installing the CU onto the first Exchange server

  • Follow your organisation’s change management process, and factor the approval time into your change request

  • Provide appropriate notifications as per your process.  This may be to IT teams, or to end users.

  • After you install this cumulative update package, you cannot uninstall the cumulative update package to revert to an earlier version of Exchange. If you uninstall this cumulative update package, Exchange is removed from the server.

  • Place the server into SCOM (or whatever is used) maintenance mode prior to installing, confirm the install then take the server out of maintenance mode

  • Place the server into Exchange maintenance mode prior to installing, confirm the install then take the server out of maintenance mode

  • I personally like to restart prior to installing CUs.  This helps identifies if an issue was due to the CU or happened in this prior restart, and also completes any pending file rename operations.  3rd party AV products are often guilty of this

  • Restart the server after installing the CU

  • Ensure that any Exchange security updates are installed.
  • Ensure that all the relevant services are running

  • Ensure that event logs are clean, with no errors

  • Ensure that you consult with all 3rd party vendors which exist as part of your messaging environment.  This includes archive, backup, mobility and management services.

  • Ensure that you do not forget to install this update on management servers, jump servers/workstations and application servers where the management tools were installed for an application.  FIM and 3rd party user provisioning solutions are examples of the latter.

  • Ensure that the Windows PowerShell Script Execution Policy is set to “Unrestricted” on the server being upgraded or installed.  See this article on setting PowerShell to Unrestricted..

  • Disable file system antivirus prior to installing. Do this through the appropriate console.  Typically this will be a central admin console, not the local machine.

  • Verify file system antivirus is actually disabled

  • Once server has been restarted, re-enable file system antivirus.



Please enjoy the update responsibly!

What do I mean by that?  Well, you need to ensure that you are fully informed about the caveats with the CU  and are aware of all of the changes that it will make within your environment.  Additionally you will need to test the CU your lab which is representative of your production environment.



Rhoderick Milne [MSFT]

Leave a Reply

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