CU install Exchange 2016

CU Exchange Server
Following you will find a common description how to perform a CU install on Exchange 2016. I did not want to write it for a specific CU since every CU has its own tribulations.

A good advice after a new CU release is to wait some weeks with the CU install until possible difficulties get named and documented. Usually after some weeks have passed I start to gather information on the CU to be installed.

Tasks before installing CU14 Exchange 2016:

  • Backup your web.config files where you have modified parameters or have added new keys.

    To be safe I recommend backup every web.config file you have ever touched/modified. So you can easily reapply the changes you have made.

    These are most likely the web.config files in the following directories:

    Active Sync – [ We have an increased attachment size ] :

    C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\sync
    C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\sync

    ECP – [ We have additional keys in place. ] :

    C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\exchweb\ews

    The web.config file in the OWA directory is the only one that seems to take over customizations. I do check it anyway to go for sure:

    OWA – [ We have additional keys in place ] :

    C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\Owa

  • Disable Check for publisher’s certificate revocation in IE.
  • Make sure you have enough free space on the install drive.
    I noticed from 2010 and 2013 times a recommendation for at least 10GB of free space.
  • Take a look at the supportability matrix
  • Check your .NET version and verify it against the CU you want to install in the supportability matrix.
    You can find your current installed .NET version value under the key Release here:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

    A list value = .NET version and a description can be found here

  • Check Auth methods on service directories like Powershell, OWA, and ECP and note the output.

Let’s assume you want to perform the CU Install in an environment where all Exchange Servers are members of a DAG and have min. one database copy. As always install it in a test environment first.

Ok, good to go.

Switch the active mailbox databases on the server you want to install the CU

Move-ActiveMailboxDatabase DatabaseName -ActivateOnServer TargetServerName

Set the server where you install the CU in maintenance mode :

Set-ServerComponentState ServerNameToInstallCU -Component hubtransport -State Draining -Requester maintenance
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
Redirect-Message -Server ServerNameToInstallCU -Target AnotherExchangeServerWithinTheDAG

Set-MailboxServer ServerNameToInstallCU -DatabaseCopyAutoActivationPolicy Blocked
Suspend-ClusterNode ServerNameToInstallCU
Set-ServerComponentState ServerNameToInstallCU -Component ServerWideOffline -State Inactive -Requester Maintenance

CU Install Exchange 2016 :

Open an elevated command prompt and navigate to the drive you have mounted the iso. ( or to the folder where you have copied the CU installation files ). Start the install with the commands below. ( When a step is finished trigger the next one ) . PrepareSchema, prepareAD, and prepareDomain just need to be triggered when you upgrade the first Exchange Server in your environment!

Important ! > When you have navigated in an elevated command prompt to the CU Install files make sure to type in the path again before the \setup.exe . For example when your .iso is mounted on drive E: it should look like :

CU install Exchange

It seems the system refers by default to the setup.exe of the CU you have installed before.
Without giving the explicit path to the current setup.exe it can happen that the first line of the installer’s output will greet you with the name of the CU you have installed before.

Setup.exe /prepareSchema /IAcceptExchangeServerLicenseTerms ( only on the 1st server you upgrade )
Setup.exe /prepareAD /IAcceptExchangeServerLicenseTerms ( only on the 1st server you upgrade )
Setup.exe /prepareDomain /IAcceptExchangeServerLicenseTerms ( only on the 1st server you upgrade )
Setup.exe /mode:upgrade /IAcceptExchangeServerLicenseTerms

After the CU Install has finished restart the server.

I usually verify under programs and features that the CU install was successful.

Resume the server you have installed the CU from maintenance mode :

Set-ServerComponentState ServerNameCUInstalled -Component ServerWideOffline -State Active -Requester Maintenance
Resume-ClusterNode ServerNameCUInstalled
Set-ServerComponentState ServerNameCUInstalled -Component HubTransport -State Active -Requester Maintenance
Restart-Service MSExchangeTransport
Restart-Service MSExchangeFrontEndTransport
Set-MailboxServer ServerNameCUInstalled -DatabaseCopyAutoActivationPolicy Unrestricted

Mount the mailbox database copies back to the server where you just have installed the CU.
This can be done by just waiting for the server to activate/mount the mailbox database copies back automatically. That happens when -DatabaseCopyAutoActivationPolicy has been set to Unrestricted as we have done it in the step before.

Or if you want to keep the control mount the mailbox database copies back manually :

Move-ActiveMailboxDatabase DatabaseName -ActivateOnServer ServerNameCUInstalled

Login via Outlook and OWA to a Mailbox which resides on a mailbox database on this server to test if all works fine.

Things worth to check after a CU install

  • Check your web.config files mentioned before and reapply your changes from the backups you made before
  • Take a look at the authentication methods of your service directories and validate them against the output you noted before the CU install.
  • If you had mailtips disabled before, check them. In our case they got enabled again

Leave a Reply

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