Monday, September 13, 2010

Exchange 2010 Service Pack 1 Setup Fails

Today I'm building a new Exchange 2010 environment with 2 servers running in Hub Transport and Client Access in a CAS Array, and 2 backend servers running a Database Availability Group cluster. The two front end servers running HT and CAS also have NLB setup running ontop of VMWare vSphere.

This is a vanilla install, no 3rd party software, and no funky system changes.

I installed Service Pack 1 on the backend DAG servers this worked fine.

However on the two front end servers running the CAS and HT roles the following error was experianced when installing Service Pack 1:

Taken from the ExchangeSetup log file:

[09/13/2010 09:19:33.0276] [1] The following 1 error(s) occurred during task execution:
[09/13/2010 09:19:33.0276] [1] 0. ErrorRecord: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'.
[09/13/2010 09:19:33.0292] [1] 0. ErrorRecord: Microsoft.PowerShell.Commands.ServiceCommandException: Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.InvalidOperationException: Cannot start service MSExchangeServiceHost on computer '.'. ---> System.ComponentModel.Win32Exception: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
--- End of inner exception stack trace ---
at System.ServiceProcess.ServiceController.Start(String[] args)
at Microsoft.PowerShell.Commands.ServiceOperationBaseCommand.DoStartService(ServiceController serviceController)
--- End of inner exception stack trace ---
[09/13/2010 09:19:33.0292] [1] [ERROR] The following error was generated when "$error.Clear();
if (get-service MSExchangeServiceHost* where {$_.name -eq "MSExchangeServiceHost"})
{
restart-service MSExchangeServiceHost
}
" was run: "Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'.".
[09/13/2010 09:19:33.0292] [1] [ERROR] Service 'Microsoft Exchange Service Host (MSExchangeServiceHost)' cannot be started due to the following error: Cannot start service MSExchangeServiceHost on computer '.'.
[09/13/2010 09:19:33.0292] [1] [ERROR] Cannot start service MSExchangeServiceHost on computer '.'.
[09/13/2010 09:19:33.0292] [1] [ERROR] The service cannot be started, either because it is disabled or because it has no enabled devices associated with it
[09/13/2010 09:19:33.0292] [1] [ERROR-REFERENCE] Id=BridgeheadRoleSetterComponent___115c1108e99e4560bd2c03c0fec99908 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup
[09/13/2010 09:19:33.0292] [1] Setup is stopping now because of one or more critical errors.
[09/13/2010 09:19:33.0292] [1] Finished executing component tasks.
[09/13/2010 09:19:33.0323] [1] Ending processing Install-BridgeheadRole




Notice in the the bold text in the log file above "The service cannot be started, either because it is disabled". Thats the problem! The Exchange Setup disables all the services during the installation. Then when it tries to start the service, it forgets to take it out of a disabled state hence failing to start.

Notice during the Exchange 2010 SP1 setup wizard if you look at the services.msc console the setup changes all the services to "Disabled".



Change them all back to "Manual" during the setup.



Continue to monitor these services during the Exchange 2010 SP1 setup and keep tapping F5 to refresh. The setup keeps changing these setting back to Disabled. Every time this happens set the services back to Manual.

Following this procedure I was able to allow Exchange 2010 SP1 to successfully install on my CAS Array NLB front end servers.



Very weird issue!

16 comments:

  1. I have EXACTLY the same issue with EXACTLY the same setup!! Been onto MS for a whole day now and fighting with those services is a nightmare!

    ReplyDelete
  2. It took a while, but your right, I was getting the same error when trying to install exchange 2010 sp1, i just kept setting the exchange services to manual, it worked. Thanks for the input.

    ReplyDelete
  3. what i should say to thank u...thanks thanks thanks...i was searching on the internet and i did found any info about hot to resolve the problem but when i saw these artical i think that i will work...

    ReplyDelete
  4. Clint,
    I am not able to set them fast enough to manual before failure. Thoughts?

    ReplyDelete
  5. Yes make a powershell ps1 script to set them to manual and run it over and over during the install. See:

    http://technet.microsoft.com/en-us/library/dd315324.aspx

    Set-Service servicename -Startuptype manual

    ReplyDelete
  6. The script will set them all to manual in one hit very fast

    ReplyDelete
  7. thanks for this feedback,
    In my case it was IPV6 deactivated that gave me this error.

    ReplyDelete
  8. power shell to set to manual:
    Get-Service MSEx* | Set-Service -Startuptype manual

    ReplyDelete
  9. to Clint B
    Thanks man help with your share. FYI it's happen to me when I upgraded from Exchange 2010 Sp1 to SP2.

    to John pigeret
    IPV6 on active condition

    ReplyDelete
    Replies
    1. Thanks John. This was the resolution for me too. Enable IPV6 and BAM! Problem solved.

      Delete
  10. I had the same issue. The way I fixed it was to run the SP1 setup.exe as administrator (by right clicking) and the services restarted without getting disabled.

    ReplyDelete
  11. Thanks, This worked for me too. What a shame...the install disables services that you need to install it...comical.

    ReplyDelete
  12. Thank you, I just came up against this problem and this was the solution:
    power shell to set to manual:
    Get-Service MSEx* | Set-Service -Startuptype manual

    I kept running that command during the install of SP2 and it worked.

    ReplyDelete
  13. i created a small powershell to fix this issue for Exchange sp3

    While ($i -le 9600000) {
    $i; $i +=1
    Start-Sleep -s 3
    Get-Service | where{$_.Name –Like ‘MSExchange*’} | set-Service –StartupType ‘automatic’
    write-host "service set to automatic"
    }

    ReplyDelete
  14. Had same issue with Exchange 2013 SP1

    ReplyDelete
  15. Thank you. Had same problem with Exchange 2013 cumulative update.

    ReplyDelete