即使在以管理员身份打开 cmd 时,DllRegisterServer 也会失败,并出现 0x80070005

即使在以管理员身份打开 cmd 时,DllRegisterServer 也会失败,并出现 0x80070005

这个错误代码的意思应该是“拒绝访问”,网络上到处都给出了解决方案(例如https://stackoverflow.com/questions/3808954/dllunregisterserver-failed-with-error-code-0x80070005)是使用管理员权限打开 cmd。但是,在我的情况下,即使在使用管理员权限打开的 cmd 上也会出现同样的错误(使用https://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"

失败并显示相同的错误消息,即给定的模块已加载,但对 DllRegisterServer 的调用失败,代码为 0x80070005。

我尝试监视注册表访问,如下所示http://www.cryer.co.uk/brian/windows/troubleshooting/nt4_dllregisterserver_in_com_failed_0x80070005.htm,但结果列表中根本没有ACCESS DENIED或结果。ACCDENIED

编辑:我现在甚至尝试过

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

从以管理员身份运行的 cmd 中,但这也会导致相同的错误!

答案1

regsvr32从提升的命令提示符运行该命令。

从上下文菜单中选择Start > All Programs > Accessories', then right-click“命令提示符and select以管理员身份运行”。最后,输入命令。

答案2

错误0x80070005意味着没有权限访问文件夹或文件(通常是缓存文件)。

转到/Users/Public/Application Data/Package Cache文件夹并确保那里的文件夹具有正确的权限,否则请删除它们并重新运行。

使用时也一样wine,例如

chmod -v 755 ~/".wine/drive_c/users/Public/Application Data/Package Cache"/*

否则,请检查日志文件以了解详细信息。

相关内容