How to fix the problem with Exchange 2007 services after a rollup update
SYMPTOMS (From Microsoft site):
After you install an update rollup for Microsoft Exchange Server 2007, the Exchange 2007 managed code services may not start. Additionally, the following events are logged in the System log:
Event Type: Error
Event Source: Service Control Manager
Event ID: 7000
Description: The Microsoft Exchange EdgeSync service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Event Type: Information
Event Source: Microsoft Exchange Server
Event ID: 5001
Description: Bucket 77004151, bucket table 5, EventType e12, P1 c-rtl-amd64, P2 08.00.0733.000, P3 msexchangetransport, P4 unknown, P5 unknown, P6 s.serviceprocess.timeoutexception, P7 0, P8 08.00.0733.000, P9 NIL, P10 NIL.
Event Type: Error
Event Source: Service Control Manager
Event ID: 7000
Description: The Microsoft Exchange Transport Log Search service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion.
Event Type: Error
Event Source: Service Control Manager
Event ID: 7009
Description: Timeout (30000 milliseconds) waiting for the Microsoft Exchange Transport Log Search service to connect.
The following events are logged in the Application log:
Event Type: Error
Event Source: MSExchange Common
Event Category: General
Event ID: 4999
Description:
Watson report about to be sent to dw20.exe for process id: 1448, with parameters: E12, c-RTL-AMD64, 08.00.0733.000, MSExchangeTransport, unknown, unknown, S.ServiceProcess.TimeoutException, 0, 08.00.0733.000
Event Type: Error
Event Source: Microsoft Exchange Server
Event ID: 5000
Description:
EventType e12, P1 c-rtl-amd64, P2 08.00.0733.000, P3 msexchangetransport, P4 unknown, P5 unknown, P6
CAUSE (From Microsoft site):
This problem occurs because the affected computer cannot reach the following Microsoft Web site: http://crl.microsoft.com/pki/crl/products/CSPCA.crl
This problem occurs because of the following behavior:
When the Microsoft .NET Framework 2.0 loads a managed assembly, the managed assembly calls the CryptoAPI function to verify the Authenticode signature on the assembly to generate the publisher evidence for the managed assembly.
The CryptoAPI function checks a Certificate Revocation List (CRL) that is available at http://crl.microsoft.com. This action requires an Internet connection.
If the Internet connection is blocked, the outgoing HTTP requests may be dropped. Therefore, an error message is not returned. This problem may also occur if the computer cannot resolve http://crl.microsoft.com. This long delay causes the CRL check to time out.
The Service Control Manager (SCM) determines that the service is taking too long to start and that the service has exceeded the maximum service start time. Therefore, the SCM reports the error message, and the Exchange managed code services are not started.
More info on Microsoft KB article (http://support.microsoft.com/kb/944752/), which also explains how to overcome this problem.
I fixed the problem differently, read below:
So, basically this happens when CryptoAPI function checks a Certificate Revocation List (CRL) that is available at http://crl.microsoft.com. This may mean that you don't have an internet access at all or you have a proxy server in your organization. If you don’t have an internet in you network, then you should read the above Microsoft KB article with workaround. But if you do have an internet that is behind a proxy, then you will need to configure proxy for Windows HTTP Services (WinHTTP). This isn't same setting as proxy configuration from "Internet Options". WinHTTP is used for desktop client applications, Windows services, and Windows server-based applications. This is also a good practice, because both Hub Transport servers and Edge Transport servers may use HTTP to access updates for Microsoft Exchange 2007 Standard Anti-spam Filter Updates and the Microsoft Forefront Security for Exchange Server anti-spam update service in addition to certificate revocation list (CRL) validation.
To configure proxy for WinHTTP:
1. Make sure that URL (http://crl.microsoft.com/pki/crl/products/CSPCA.crl) is allowed to be accessed from your proxy server.
2. Open a command prompt and type,
For Windows Server 2008:
netsh winhttp set proxy <servername>:<port number> "<local>"
For Windows Server 2003:
proxycfg -p <servername>:<port number> "<local>"
Replace <servername> with your proxy hostname or IP address and <port number> with port number used by the proxy server.
Then just reboot the Exchange server and services should come up gracefully.

