In many companies, the employers have disabled the registry editing by default. The message "Registry editing has been disabled by your administrator", pops up if you execute regedit.exe, even if you have administrator privileges. Even though there are some good intentions behind it, it can be really frustrating at times if you want to make some changes for good. The good news is that, you can enable it, if you have administrator privileges.
The basic idea behind this is, windows saves all the registry items like keys, values etc in a few database files. In winows XP/Vista, these database files are located in C:\Windows\System32\Config. The file names are
These files are protected by operating system and you won't be able to see its contents.
Regedit.exe (C:\Windows\regedit.exe), is just a program used to view/edit the data inside these database files. So usually what the system admins will do is, disable the Regedit.exe program. (Regedit.exe can be disabled by setting a key in registry. The key name is 'DisableRegistryTools' which can be found under the path ' HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System'. If the value of this key is set as '00000002', it will disable Regedit.exe; if the value is '00000000', it will enable Regedit.exe. The data type of this value is DWORD).
The method explained here uses a command line tool called 'Reg.exe' (Complete path is ' C:\Windows\System32\reg.exe'). Reg.exe is a tool which can be used to import and export registry values. Using this tool we will change the "DisableRegistryTools" key value from '00000002' to '00000000', to enable Regedit.exe. Following is a step by step procedure to do it (Make sure you take a backup of registry, so that if anything goes wrong, you can restore it to original state. Please check other articles in this section to find out how to backup your registry)

Note: The above method will work for Windows XP only. In windows vista, if you try to execute these commands, you will get an error "Registry editing has been disabled by your administrator", which is correct. Then ???? Microsoft might have forgotten to add this verification to Reg.exe in Windows XP, who knows???. I don't know if Vista users, copy the C:\Windows\System32\reg.exe from an XP machine, then try the above steps, it might work. Its worth giving a try...
As mentioned in the above note, Reg.exe cannot be used in Windows Vista, to import and export registry keys, if registry editing is disabled. So one possible way is to write a small vb script file to change the value of "DisableRegistryTools". Following is the vb script. Comments are provided to better understand what each line of script does.
'In case of error, continue script
'execution from the next line onwards
On Error Resume Next
'Declare variables
Dim objshell, regKey, value
regKey = "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools"
'Creating a shell object
Set objshell = WScript.CreateObject("WScript.Shell")
'Getting the current value of this key
value = objshell.RegRead(regKey)
'If the key does not exist, the above line will generate an error
If Err.Number <> 0 Then
'If the key does not exists, registry is disabled from some where else
'So just end the script, without doing anything
WScript.Quit
End If
'If current value is 0, then also the registry is disabled from somewhere else
'So just end the script, without doing anything
If value == 0 Then
WScript.Quit
End If
If value = 2 Then
'Current value of 'DisableRegistryTools' is 2, so change it to 0
objshell.RegWrite regKey, 0, "REG_DWORD"
End If
WScript.Echo("Registry is now enabled")
Note: You don't have to restart the computer in order to see the changes. You can restart just the explorer shell as the following