Dirk Dot Net

Creator of useful things. Based in Chiang Mai, Northern Thailand.

When installing a Windows Service Pack, you may get an "Access is denied" message and the installation rolls back. The issue is most likely due to incorrect registry permissions. You should first try Microsoft's advice.

However, if all this fails for you, you can try the following, as found here (kudos to MVP Jim Byrd):

  1. Download and install SubInACL:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en
    Even if you have the Windows Resource Kit Tools installed, you should download and install the latest version at the link above. Some earlier versions of SubInACL, especially those for Windows Server 2003, don't work.

  2. Navigate to the** C:\Program Files\Windows Resource Kits\Tools** folder and create a new text file. Rename it to SubInACLReset.cmd or anything you like.

  3. Edit the file and paste the following:
    subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
    subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
    subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
    subinacl /subdirectories %SystemDrive% /grant=administrators=f
    subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
    subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
    subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
    subinacl /subdirectories %SystemDrive% /grant=system=f
  4. Double click the file OR go to Start>Run and enter C:\Program Files\Windows Resource Kits\Tools\SubInCALReset.cmd
  5. The procedure will take a while, depending on the size of your registry.
  6. Try installing the Service Pack again and it should work.
  7. Hope it saves you an hour or so.