You may need to reset the registry and file permissions if you experience Access is denied error when installing a Windows XP Service Pack or update. (Example: Service Pack 3 setup error. Access is denied.)

Hint: If you’re seeing the error Service Pack 3 setup error. Access is denied when installing Windows XP Service Pack 3, to verify if the error is caused by incorrect registry permissions, open the file C:\Windows\Svcpack.log using Notepad and look for the text Access is denied or DoRegistryUpdates failed.

Note: Access denied errors can also be caused by third-party applications, especially anti-virus or anti-spyware applications. So, make sure that you close all the anti-virus and anti-spyware utilities temporarily and then install the Service Pack. This helps in most cases. You should reset the registry and the file permissions only if necessary.

Resetting the Registry and the File Permissions

Using SECEDIT.EXE (for Windows XP Professional)

In Windows XP Professional, you may use the following secedit command-line to reset the file and registry permissions to defaults.

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

For more information, see article How to reset security settings back to the defaults.

Using SubInACL

For Windows XP Home Edition (and Professional Edition), you may use the SubInACL tool to reset the registry and file permissions. Download and then install the Subinacl.exe (~370 KB) from Microsoft. SubInACL is a command-line tool that enables administrators to obtain security information about files, registry keys, etc.

Download reset.zip, unzip and run the reset.cmd file. This script resets the registry and file permissions in your system.

Reset.cmd Contents

The file reset.cmd contains the following lines:

cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f
subinacl /subdirectories %SystemDrive%\ /grant=administrators=f /grant=system=f

Related Posts


Email SubscriptionPrefer an E-mail subscription?

Enter your email address:

Delivered by FeedBurner

37 Comments

  1. James Fox
    said this on Monday, January 25th 2010 2:08 pm

    Unfortunately, I can not succeed installing SubinACL.exe on an AMD XP(SP2) “HOME” edition machine. I’ve read several threads claiming SubinACL is compatible with HOME as well as PRO, as this one does, but apparently not on my HOME machine. The Microsoft articles clearly state the list of OS’s covered, and HOME edition is not one. On my machine double clicking on SubinACL.msi results eventually in the message [paraphrasing] “Policies on this machine disallow this installation.” I’m dead in the water trying to install SP3, no matter whether I try over the net with Windows update or execute the 300mb+ exe file directly after downloading it from microsoft. It dies once it starts tinkering with the registry, Access Denied.

    Thanks for any ideas…
    James Fox

    There must be a SPECIAL approach here for HOME vs PRO!

  2. Kev
    said this on Friday, January 8th 2010 4:14 pm

    Thanks Ramesh, you come good yet again. Somehow I lost permissions for HKEY_CLASSES_ROOT.
    When I tried to install some software I discovered that EVERYBODY / THING had lost permissions there as well ! This worked a treat.

  3. Dave
    said this on Sunday, December 13th 2009 10:15 pm

    Thankyou so much,spent 2 days trying all the fixes on the internet trying to load SHOCKWAVE and FLASH PLAYER they would load but not work,turned out I did not have admin priveledges on some registry settings,disallowing SWDIR.dll to register, used both of the files mentioned in original post and HEY PRESTO, within 10 mins had both shock and flash loaded and working flawlessly,THANKYOU THANKYOU THANKYOU THANKYOU

  4. D
    said this on Sunday, December 6th 2009 2:36 am

    The command is flawed. %systemdrive% does nothing, it needs to be %systemdrive%\

  5. said this on Wednesday, October 7th 2009 10:16 am

    SECEDIT.EXE isn’t available in Windows XP Home Edition, Jeff. Please use SubInACL instead.

  6. Jeff Owen
    said this on Tuesday, October 6th 2009 9:53 pm

    I ran the reset.cmd just fine. However, I get to a point where the dos prompt shows:

    c:\Program Files\Windows Resource Kits\Tools>secedit /configure /cfg C:\Windows\repair\secsetup.inf /db secsetup.sdb /verbose
    ‘secedit’ is not recognized as an internal or external command, operable program or batch file.

    I’m running Windows XP Home SP2 and trying desparately to upgrade to SP3, in the hopes this might get me closer to resolving issues with the computer just turning off with no warning (event viewer shows some HP Pci error message).

  7. dave mellor
    said this on Thursday, August 13th 2009 5:06 pm

    Greetings Mr. Walker,

    I’ve used this tool before to fix other ‘unfixable’ computers where the problem was due to the registry permissions (ie: Can’t install Flash on Internet Explorer) but for some reason I couldn’t get it to run this time around.

    Sure enough, your comment on changing the double quotes was right on the money!

    THANK YOU THANK YOU THANK YOU for taking the time to document the fix to the original fix that allows stuff like SP3 to finally install on a system that had been running Avast or to install a new version of Flash in IE7!

    Cheers!

    db mellor

  8. Mark
    said this on Sunday, August 2nd 2009 5:53 pm

    Worked like a charm. Thanks!

  9. said this on Tuesday, July 7th 2009 4:12 pm

    Hi, SECEDIT- Dnt work
    ###########Use following###############
    Gpupdate——–Refreshes local and Active Directory–based Group Policy settings, including security settings. This command supersedes the now obsolete /refreshpolicy option for the secedit command.
    ######http://srinathbugz.blogspot.com/###########

  10. Nick
    said this on Monday, February 9th 2009 12:39 pm

    Thanks SKILLET that worked nicely…I changed the top line of the copy and pasted reset.cmd file and saved it…closed out of it and double clicked on the reset file on my desktop and it ran!

Leave a Reply