Windows vista home premium,
registry keys loose there owner and permission information,
does anyone know why this happens?
I had to manually go and fix it, is there a tool that can scan the registry for this?

Dani AI

Generated

Short primer and next steps (concise): losing owner/permission entries on Vista’s registry usually comes from buggy installers/tweakers or broken uninstallers — the ACLs or owner SID get removed so Windows or an installer gets “access denied.” ’s SubInACL approach (accepted by ) is a well‑known way to repair many keys at once; for one or two problem keys the manual Regedit Permissions → Advanced → Owner method that described is often faster. (makeuseof.com)

Safe, practical workflow to follow before changing anything:

  1. Create a System Restore point or full system/state backup.
  2. Export the exact key(s) you plan to touch so you can restore only that data if needed. Example command to export a key from an elevated prompt:
    reg export HKLM\Software\MyApp C:\Temp\MyApp-backup.reg

    Create the restore point first — this is standard Windows recovery practice. (support.microsoft.com)

How to find problem keys (quick scan): use Sysinternals AccessChk to locate registry objects that report “no access” for important accounts (Administrators, SYSTEM). Example (run from an elevated prompt):

accesschk.exe -k -s -n hklm\software

That will recurse and show keys with no effective access; it’s an easy way to target fixes instead of blindly resetting everything. (learn.microsoft.com)

Fix options and cautions: for single keys use Regedit’s Permissions/Owner UI (as did). For many keys use a command‑line ACL tool — SetACL is a modern, flexible option and SubInACL is the older Microsoft Resource Kit tool many people used (as suggested). Do not run a global blanket reset without backups; changing owners/ACLs en masse can break services and is hard to roll back. If unsure, export the affected hives, test on a nonproduction machine, and restore from the .reg or a restore point if anything goes wrong. (helgeklein.com)

Recommended Answers

All 5 Replies

Could you give us more detail? How do you find owner and permission info for a registry key?

Could you give us more detail? How do you find owner and permission info for a registry key?

open regedit,
right click on registry key,
choose permissions - in permissions window, click advanced button for owner info.

If you are still looking for a reply, this is what I think could help.

The ownerships of registry keys are sometimes accidentally removed by bad installers, registry tweakers/cleaners or some unistallers.

This could result in other programs not installing or giving you the "Permission denied" message when trying to delete or modify the registry entry.

I'm not sure if there are programs to identify which registry keys/subkeys have missing owners, but the following could be used to restore the ownership and permissions of the registry keys.

Download and install SubInACL from:

Now create a batch file and paste the following text into it:

cd /d "%programfiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=*****=f /setowner=administrators
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=*****=f /setowner=administrators
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=*****=f /grant=everyone=r /setowner=administrators
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=*****=f /grant=everyone=r /setowner=administrators
subinacl /subkeyreg HKEY_USERS /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /keyreg HKEY_USERS /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators

Replace the ***** with your user name. eg If editing with Notepad, use Edit/Replace... and replace all ***** with Dionysius.

Now execute/run the batch as an Administrator and wait. It takes quite a while to finish.

The registry permissions and ownerships should now be restored.

I'm not sure if the attachment function works, but I'll try to attach the batch file. Remember to edit it and replace the ***** with your user name.

I had this EXACT problem tonight and after about an hour of digging through Google links I found a solution that was not so much steam-based but permissions-based within the registry.

Open Regedit and find your HKEY_CLASSES_ROOT\steam key. Click it, and after it tells you that you don't have permissions to view it, right click the key "folder" and select Permissions. You will probably notice that the list of allowed users under Groups or User Names is blank. Click the Add button and add any user groups you want to have access to Steam (I added "Administrators", "SYSTEM", and my user name). Then select Administrators, and make sure that group has full read/write access to the key. Click OK. If the interface gives you guff about not having permission to save because you are not the owner, Click the Advanced button, select the Owner tab, and make sure Administrator and any other users you added are listed as owners (I omitted SYSTEM as owner, and it worked fine for me).

Once you have permissions to the key you will see the values are there, Now do the same for all the other keys.

One odd thing to note, after giving myself permissions for the Shell key, I couldn't see the Shell\Open or Shell\Open\Command keys. As I was creating a new key under Shell to make my own "Open" key, it suddenly appeared and I could edit permissions on that key. Same deal with Shell\Open\Command. A simple refresh might work, I didn't think to try that

After making all the permission changes, I closed regedit and launched Steam, and the steam:// protocol was fixed.

My free Portal demo is downloading as I type this :D

Dionysius,
your solution works!
thanks for posting


If you are still looking for a reply, this is what I think could help.

The ownerships of registry keys are sometimes accidentally removed by bad installers, registry tweakers/cleaners or some unistallers.

This could result in other programs not installing or giving you the "Permission denied" message when trying to delete or modify the registry entry.

I'm not sure if there are programs to identify which registry keys/subkeys have missing owners, but the following could be used to restore the ownership and permissions of the registry keys.

Download and install SubInACL from:

Now create a batch file and paste the following text into it:

cd /d "%programfiles%\Windows Resource Kits\Tools"
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=*****=f /setowner=administrators
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=*****=f /setowner=administrators
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=*****=f /grant=everyone=r /setowner=administrators
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=*****=f /grant=everyone=r /setowner=administrators
subinacl /subkeyreg HKEY_USERS /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators
subinacl /keyreg HKEY_USERS /grant=administrators=f /grant=system=f /grant=restricted=r /grant=*****=f /grant=restricted=r /setowner=administrators

Replace the ***** with your user name. eg If editing with Notepad, use Edit/Replace... and replace all ***** with Dionysius.

Now execute/run the batch as an Administrator and wait. It takes quite a while to finish.

The registry permissions and ownerships should now be restored.

I'm not sure if the attachment function works, but I'll try to attach the batch file. Remember to edit it and replace the ***** with your user name.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.