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.
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.
<EndFunc Name='GetCAContext' Return='T' GetLastError='0'>
Doing Action: Do_HttpServiceSecurity
PerfTime Start: Do_HttpServiceSecurity : Tue May 13 06:45:28 2008
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.
The issue occurs because of missing HTTP service
Check if HTTP SSL is present in the Services.msc
Check the following Registry Keys
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
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
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.
SE, Microsoft SQL Server.
Technical Lead, Microsoft Sql Server