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?

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:

http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en

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:

http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en

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.