This error code is supposed to mean 'Access Denied', and the solution given everywhere on the net (eg. http://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 http://stackoverflow.com/questions/7985755/how-to-detect-if-cmd-is-running-as-administrator-has-elevated-privileges).
regsvr32.exe "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"
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!