DllRegisterServer fails with 0x80070005 even on cmd opened as Administrator

This error code is supposed to mean 'Access Denied', and the solution given everywhere on the net (eg. https://stackoverflow.com/questions/3808954/dllunregisterserver-failed-with-error-code-0x80070005) is to open a cmd with Administrator rights. However, in my case, the same error occurs even on a cmd opened with admin rights (tested with the answers on https://stackoverflow.com/questions/7985755/how-to-detect-if-cmd-is-running-as-administrator-has-elevated-privileges).

Both

regsvr32.exe "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

and

 C:\windows\SysWOW64\regsvr32.exe  "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

fails with the same error message, that the given module was loaded but the call to DllRegisterServer failed with the code 0x80070005.

I tried to monitor registry accesses as given in http://www.cryer.co.uk/brian/windows/troubleshooting/nt4_dllregisterserver_in_com_failed_0x80070005.htm , but there are no ACCESS DENIED or ACCDENIED results at all in the resulting list.

Edit: I've now even tried

runas /user:Administrator "regsvr32.exe \"C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll\""

from within a cmd that was itself run as Administrator but that too results in the same error!


Solution 1:

Run the regsvr32 command from an elevated Command Prompt.

Select Start > All Programs > Accessories', then right-clickCommand Promptand selectRun as administrator` from the context menu. Finally, type the command.