SQL Server 2005 SP2 setup might fail with the error Error 29528: The setup has encountered an unexpected error while Updating security settings on HTTP services

Few days back I worked on a case where the sql server SP2 setup was failing to install with an Error 29528 so I thought I should blog this article to address the cause of the failure and how can we resolve the issue.

Problem Description:

You may see the following error in the SQL Server 2005 SP2 Log (SQL9_Hotfix_KB921896_sqlrun_sql.msp.log)

MSI (40!A4) [13:12:21:430]: Note: 1: 2262 2: Error 3: –2147287038
MSI (40!A4) [13:12:21:430]: Product: Microsoft SQL Server 2005 -- Error 29528. The setup has encountered an unexpected error while Updating security settings on HTTP services. The error is: Fatal error during installation.

Error 29528. The setup has encountered an unexpected error while Updating security settings on HTTP services. The error is: Fatal error during installation.

Function=Do_HttpServiceSecurity
<Func Name='GetCAContext'>
<EndFunc Name='GetCAContext' Return='T' GetLastError='0'>
Doing Action: Do_HttpServiceSecurity
PerfTime Start: Do_HttpServiceSecurity : Tue May 13 06:45:28 2008
<Func Name='Do_HttpServiceSecurity'>

Unable to open service (1060)

<EndFunc Name='Do_HttpServiceSecurity' Return='1603' GetLastError='0'>
PerfTime Stop: Do_HttpServiceSecurity : Tue May 13 06:45:28 2008
Gathering darwin properties for failure handling.

Cause:

The issue occurs because of missing HTTP service

Resolution:

Check if HTTP SSL is present in the Services.msc

Check the following Registry Keys

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTPFilter

If you don’t find the above registry keys export the keys from another machine with the same OS and import it in the current box

You can try starting the HTTP service after rebooting the box

If the service fails with a dependency error install a minimum version of IISADMIN which will provide the required DLL’s and we should be able to start the HTTP service

SQL Server 2005 SP2 setup should complete successfully

Additional Information:

HTTP Service:

This service implements the secure hypertext transfer protocol (HTTPS) for the HTTP service, using the Secure Socket Layer (SSL).

What the SQL setup is trying to do is to add an Access Control Entry (ACE) to the Access Control List (ACL) for HTTP and HTTPFilter services. Why we do this is to start the HTTP services if we need to create an HTTP endpoint. The 1st step in this process is to Open the HTTP Service and this where we are failing -> Unable to open service (1060)

We can query the Windows Service Control manager using the following commands or check under services.msc to check if the service exists.

sc query HTTP
sc query HTTPFilter

Note:

This post should not be treated as the Microsoft’s Recommendation or Resolution to the problem, it is only a workaround which worked in our environment and so we would like to share it.

Deepak Saluja
SE, Microsoft SQL Server.

Reviewed by
Sudarshan Narasimhan
Technical Lead, Microsoft Sql Server