Exchange 2013 Cumulative Update installation tips and best practices

Exchange 2013 logo

Edit: The latest update is now Exchange 2013 Cumulative Update 18. See here for a list of all updates and KB articles.

I’ve got a few Exchange 2013 installations in production now so I thought it was about time I wrote a post on best practices when installing Exchange 2013 Cumulative Updates and Service Packs.

Each Cumulative update is a version of Exchange in it own right. Therefore if you are installing a new deployment of Exchange you can install straight from latest Cumulative Update, which at the time of writing is CU11 (released December 2015). KB3099522 contains a list of fixes and enhancement for CU11. Check here to see what the current latest version is.

This also means that once installed you cannot uninstall a Cumulative Update, if you do you uninstall Exchange.

The update is approximately 1.6GB in size and can be downloaded from here.

In my test lab with a single Exchange server and single Domain Controller the update took an 60 minutes to install.

The official Exchange Team blog post can be found here.

Microsoft Support Policy

Microsoft will support the last two Cumulative Updates. So currently they support CU10 and CU11. They will support the oldest Cumulative Update for 3 months after the release of the latest Cumulative Update. Which makes sense as the Cumulative Updates are based on quarterly releases.

Exchange 2013 Cumulative Update best practices

Most of my deployments are in small to medium sized businesses and are usually single Exchange Server environments, so these tips are aimed at them, however most if not all are applicable to larger environments too.

  1. Test the update in a non-production environment first before deploying to a production environment.
  2. Consider waiting a week or two after the release date before deploying in production if you don’t have a test environment, in case there are any QA issues with the CU.
  3. Reboot the server so that it is in a known good state.
  4. Make sure you have a known good backup of Active Directory.
  5. Make sure you have a known good backup of your Exchange Server.
  6. Backup any customisations (OWA), as each Cumulative Update is basically an inplace upgrade customisations will not be retained.
  7. Run the Cumulative Update from an evelated command prompt.
  8. An Active Directory Schema modification will often be required so make sure the account you are using has the ability to do this.
  9. If you are upgrading a DAG member place it into maintenance mode first.
  10. In Internet Explorer, deselect “Check for Publisher’s certificate” and “Check for server certificate revocation”, from Internet Options, Advanced tab, Security options.
  11. Disable antivirus software – this was a tip for installing update rollups on Exchange 2010, I’ve not seen any references to this and Exchange 2013 though.
  12. Disable Backup Exec services – does anyone use it anymore? Another tip from installing update rollups for Exchange 2010, but again I’ve not seen any references to this and Exchange 2013 though.
  13. Once the update has completed reboot your server.
  14. Once rebooted test the server is functioning correctly. Use the cmdlets Test-ServiceHealth to confirm the services are running, and Test-MapiConnectivity to confirm access to mailbox databases. Check the ECP and Outlook WebApp.

Don’t forget to undo the changes made in steps 10, 11 and 12.

The Process

Personally I like to update Active Directory from the command prompt and then run the update in the GUI. You can run it all from the command prompt or all in the GUI, it makes no difference, but I like to see AD Schema updates as they happen.

Obviously prior to this point you’ve followed the steps above to prepare for the Cumulative Update.

  1. Run Exchange2013-x64-cu11.exe from an elevated command prompt.
  2. Extract to C:\Sw\Exch2013CU11 and then go to that directory in the command prompt.
  3. Run setup.exe /? for the help commands, take a look at setup.exe /help:upgrade and setup.exe /help:preparetopology
  4. First prepare the AD Schema. Run the command setup.exe /PrepareSchema /IacceptExchangeServerLicenseTermssetup Prepareschema iacceptexchangeserverlicneseterms
  5. Next prepare Active Directory. Run the command setup.exe /PrepareAD /IacceptExchangeServerLicenseTerms
    setup PrepareAD iacceptexchangeserverlicneseterms
  6. Then prepare the domain. Run the command setup.exe /PrepareDomain /IacceptExchangeServerLicenseTerms. In a multi domain environment you can use /PrepareAllDomains or specify domains individually.setup Preparedomain iacceptexchangeserverlicneseterms
  7. Now run Setup.exe for the gui installation or setup /m:upgrade /IacceptExchangeServerLicenseTerms for the unattended installation. In which case skip to 17)
  8. Check online for updates, click next.setup - check for updates
  9. Click next to download any available updates.setup - donwloading updates
  10. The setup will start to copy files.setup - copying files
  11. Then it will start to initialize.setup - initializing setup
  12. Setup will detect this is an upgrade, click next.setup - upgrade
  13. Accept the License Agreement, click Next.setup - license agreement
  14. Wait for the Readiness Checks to complete and click install.setup - readiness check
  15. Setup progress.gui setup
  16. Setup complete.gui completed
  17. Command line installation complete.setup m upgrade iacceptexchangeserverlicenseterms
  18. Reboot your server.


Useful Resources:

Technet – Upgrade Exchange 2013 to the latest cumulative update or service pack

Exchange Team Blog – Servicing Exchange 2013



Related Posts:

How to install Exchange 2016 (CU3 and beyond) on Windows Server 2016

Office 365 / Exchange: Stop Display Name Spoofing

Exchange Server and Update Rollups Build Numbers

How to install Exchange 2013 (SP1) on Windows Server 2012 R2

Exchange 2013 Initial Configuration Settings multi-part series

Office365 PowerShell: How to the find out mailbox sizes in Office365 (and Exchange 2016) using PowerShell

11 thoughts on “Exchange 2013 Cumulative Update installation tips and best practices

    1. Post author

      All of the Exchange 2013 CUs now modify the schema, so it will become a regular task as part of the update process.

  1. Nathalie

    not all CU modify the schema, it depends from what version of exchange you have to upgrade to cu11.
    From a CU9, you have to make a prepareAD, but no prepdomain or prepschema, as there is no modification on these two parts (domain and schema).

  2. Joe Z


    My MAPI/Exchange protocol started failing and ticking me off, possibly due to a .Net 4.6.x update which ended up crashing IIS app pool running the Exchange protocol. Failed on loading some Health DLL assembly. Instead of trying to re-create virtual dirs, I just decided to try a CU11 re-upgrade… worked like a charm with your instructions but I couldn’t get to far in the UI. The Next button on bottom right never un-grayed itself. Maybe I was impatient but geez it was at least 20 mins 🙂 killed it and followed your three commands to do it all on command-line, seeing progress and watching all steps complete was great.

    Ran into one small issue (likely because a previous re-upgrade removed the folder) on the actual upgrade where it complained that a folder did not exist, once created and re-ran, it worked. This was the folder but the moral of this story is if you get an error that folder does not exist, just create it and re-try: C:\Program Files\Microsoft\Exchange Server\V15\UnifiedMessaging\grammars

    Now my Outlook easily connects to my home Exchange server and I’m all set. Thanks again!

    1. Joe Z

      Some more search terms to help folks find this. The Application event viewer will have these events for ASP.Net: event 1310 Event code: 3008 Event message: A configuration error has occurred.

  3. Joe Z

    Sorry for the multiple replies but I wanted to consolidate a few of the issues in your thread because your manual routine was ultimately THE SOLUTION for me.

    Below are a few related articles to the error I was facing. My guess is any and all of these can be resolved via a re-install of your current or even newer CU. Having said that, the UI has not been great for me and I’m very thankful for the command-line alternative that you documented.

    Event Viewer Error after applying .Net 4.6.x — probably what killed it. FYI it could me another assembly name that fails to load due to my extensive research. Mine just happened to be Microsoft.Exchange.HttpUtilities:
    Exception message: Could not load file or assembly ‘Microsoft.Exchange.HttpUtilities, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The system cannot find the file specified.

    Other links talking about the error but none highlight that RE-INSTALLING a CU will make it disappear:

    Thanks again as it saved me hours of work and I didn’t have to re-create a bunch of my virtual IIS folder then modify attributes on the newly created folders, etc. Just a dreaded nightmare that your article helped me solve in like 40 minutes.

  4. Alex

    Thank you for this helpful guide. I was able to update my Exchange 2013 from SP1 to CU16 without any problems.

  5. kjstech

    I wish there was a flag to skip the language files. Seriously if we could skip Step 6 of 17: Language files, we could shave a good 15 minutes off the installation time.

    If were installing it to an en-us region, give us the option, Microsoft!

  6. Zackary Turner

    Hi! I work as part of a team that provides answers people ask about microsoft products. I have a question that asks about best practices for CU in Exchange. For example, how many servers can you run the on at once? What install order? Support for patched and unpatched servers in the same org? Look forward to hearing back from you!

Comments are closed.