Many, many people have complained about having difficulty installing SQL 2005 SP2.  I got it half installed (it failed on certain services and it failed entirely with the first security update after SQL SP2.

I tried a bunch of things including registry changes, deleting entries in log files and directories, but I got it successfully installed by resetting the performance counters in SQL.

Here are the steps:

1) Download and install SQL 2005 SP2.

2) Manually download and install the Security Update for SQL Server 2005 SP2 –

3) Record the error message that you see when it fails.  In my case I got error code 29528 which refers to PerfMon Counters being out of sync.

4) Manually stop all SQL Services.

5) Reset PerfMon counters by issuing the following command from a command prompt:

cd c:windowssystem32lodctr /R

6) Reboot your server and make sure that all SQL Services have restarted.