What a nightmare! For the past two days I’ve been fighting an upgrade of one of my Exchange 2016 CU3 DAG members. I thought maybe it was a botched ISO download so I re-downloaded the CU3 ISO, rebooted the Exchange server, and still, the upgrade failed every time.

After ruling out the issue with a botched ISO, I started digging through the Exchange Setup logs. They are typically located in the following directory:

C:\ExchangeSetupLogs

The file that you’re looking for is entitled “ExchangeSetup.txt”
After digging through the ExchangeSetup.txt file, I found an error that occurred after every step of the setup process: win32.exception the service cannot be started

I opened up the services and lo and behold! All Exchange services were set to disabled! So I manually went through and set all of the Exchange services to manual startup. I restarted the Exchange setup, refreshed the services, and BAM, everything disabled again! It seems after every step in the CU3 upgrade process, the services are set to disabled. After some more research, I found a solution that works – an old Exchange 2010 CU had the same issue. Instead of manually enabling all of the Exchange services, simply run the following command from an elevated Powershell window:

Get-Service MSExchange* | Set-Service -Startuptype manual

If you check your services on your Exchange server, you should see that command sets any service MS Exchange related to manual startup. There were two services that this command would not set to manual for some reason. I had to change these two services manually so keep an eye on this in your environment.
Microsoft Exchange Search Host Controller
Microsoft Exchange Server Extension for Windows Server Backup (I don’t know how critical that one is but my setup failed when the Search Host Controller was not set to manual.)

**Keep in mind, you will need to run the command above after EVERY successful step of your Exchange CU3 installation.**

After keeping an eye on my Exchange CU3 setup for HOURS, it finally completed successfully. I then ran the following command to set all Exchange services to automatic startup:

Get-Service MSExchange* | Set-Service -Startuptype manual

Once you’ve done that, simply reboot your Exchange server and validate that all of the Exchange services start up correctly!