OpsMgr 2007: HealthService Service Fails to Start with 25362 Warning

We've been highlighting a few problems we see around here doing support for OpsMgr and ConfigMgr so I thought I'd offer up one of my own.  If you run into this it can be tricky to troubleshoot but with the tips below, fixing this should be a snap. 

========

Problem: The System Center Operations Manager 2007 Health Service Fails to start during and after Installation

During Agent Installation the following error may appear:

Warning: 25362 Failed to start Health Service. Setup will proceed, please examine your event logs. Setup will complete but the Health Service will not start.

The following error may also be found in the event log:

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7024
Description: The OpsMgr Health Service service terminated with service-specific error 3 (0x3). For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp

Resolution:   To resolve this issue:

1. Enable ETL Verbose Logging from the \Program Files\System Center Operations Manager\Tools Directory by running StartTracing.cmd Verbose

2. Attempt to start the OpsMgr Health Service. Let it fail.

3. Turn off ETL Verbose Logging from the \Program Files\System Center Operations Manager\Tools Directory by running StopTracing.cmd

4. Evaluate the ETL Logs for HealthServiceCommon FileUtility_cpp108 CFileUtility::_CheckAndCreateDirectory B64
F28 2 0 01\11\2008-14:17:45.

The above is looking for HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\State Directory.

If you're using SP1 or later then the path it's looking for will be HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\State Directory.

5. Verify the value that it contains. It should point to the location in which the agent is installed and the Health Service State subdirectory (\Program Files\System Center Operations Manager\Health Service State), change the value to correct location if
incorrect or create a new String Value (Reg_SZ) if missing and set it to the correct path.

6. After correcting the above issue restart the service. If it starts you are finished. However, you may run into a similar error:

---------------------------
Services
---------------------------
Windows could not start the OpsMgr Health Service on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code -2147467259.

Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7024
Description: The OpsMgr Health Service service terminated with service-specific error 2147500037 (0x80004005).
For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.

7. If you get this error, start ETL Tracing in Verbose Mode again and start the service, then stop the tracing and evaluate. Look for something like:

src EventLogUtil_cpp195 Common::EventLogUtil::LogEvent F00 D88 1 36432528
01\11\2008-14:59:14 Information Logging informational event with args
"OpsMgr_dor", "NULL","NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL"
SecureStorageManager SecureStorageMGState_cpp75 SecureStorageMGState::Create F00
36C 1 172271493 01\11\2008-14:59:14 Error Unexpected return value :
2(ERROR_FILE_NOT_FOUND)
SecureStorageManager SecureStorageManager_cpp976
CSecureStorageManager::NotifyManagementGroupsList F00 36C 1 43840688
01\11\2008-14:59:14 Error Unable to create per-MG state object
SecureStorageManager SecureStorageManager_cpp1584
CSecureStorageManager::NotifyManagementGroupsList F00 36C 1 4294967295
01\11\2008-14:59:14 Error Unable to initialize per-management group state
ConnectorManager ConnectorManager_cpp5165
CConnectorManager::informManagementGroupState F00 36C 1 160 01\11\2008-14:59:14
Error Secure Storage Manager failed during MG notification :
-2147467259(E_FAIL)
ConnectorManager ConnectorManager_cpp1480 CConnectorManager::Start F00 36C 1 3393
01\11\2008-14:59:14 Error Unable to inform components about management
groups : -2147467259(E_FAIL)
HealthServiceExecutive HealthServiceExecutive_cpp1537
CHealthServiceExecutive::ManagerStartup F00 36C 1 235378759 01\11\2008-14:59:14
Error Start of 1 manager failed with code -2147467259(E_FAIL).
HealthServiceExecutive HealthServiceExecutive_cpp1777
CHealthServiceExecutive::ServiceInitialization F00 36C 1 4294967295
01\11\2008-14:59:14 Error ManagerStartup failed with code
-2147467259(E_FAIL).
HealthServiceExecutive HealthServiceExecutive_cpp1908
CHealthServiceExecutive::OnStartService F00 36C 1 160 01\11\2008-14:59:14
Error ServiceInitialization failed with code -2147467259(E_FAIL).
HealthServiceExecutive HealthServiceExecutive_cpp1401
CHealthServiceExecutive::ErrorShutdownServiceNoLock F00 36C 1 1455
01\11\2008-14:59:14 Error Shutting down service due to error. The supplied
error code is -2147467259(E_FAIL) and the current service state is 0x1.
HealthServiceExecutive HealthServiceExecutive_cpp2710
CHealthServiceExecutive::ShutdownServiceNoLock F00 36C 1 55405504
01\11\2008-14:59:14 Information Health service is stopping.

8. This error can be caused by the WindowsAccountLockDownSD Key in at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\Management Group\<Management Group Name Here> being invalid or non-present.  The easiest way to resolve the issue with the Windows AccountLockDownSD key is to export the registry key from a similar, working system and then import it in to the registry of the server experiencing the problem.  Once this is complete the HealthService should start successfully.

Frank Novak | Manageability Support Engineer