DllRegisterServer fails with 0x80070005 even on cmd opened as Administrator

37,096

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.

Share:
37,096

Related videos on Youtube

Sundar R
Author by

Sundar R

#SOreadytohelp

Updated on September 18, 2022

Comments

  • Sundar R
    Sundar R over 1 year

    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!

    • Ramhound
      Ramhound over 10 years
      If you move the file to a non-protected folder does it work?
    • Sundar R
      Sundar R over 10 years
      @Ramhound Unfortunately yes, the same happens wherever I put the dll files.
    • magicandre1981
      magicandre1981 over 10 years
      use ProcessMonitor instead of regMon to monitor the activity.
    • Sundar R
      Sundar R over 10 years
      @magicandre1981 Yes, I read that regmon had been merged into procmon so that's what I used. I made a filter to observe only regsvr32.exe to filter out the (tons of) noise, and also made it show only registry changes. There were many SUCCESS, REPARSE and NAME NOT FOUND results but no ACCESS DENIED.
  • chamberlainpi
    chamberlainpi almost 8 years
    And if the error persists... ?
  • serup
    serup over 5 years
    @bigp perhaps then the entries in registry are already removed or somehow faulty