web-dev-qa-db-ja.com

管理者として開いたコマンドでもDllRegisterServerが0x80070005で失敗する

このエラーコードは「アクセスが拒否されました」を意味し、ネット上のどこにでも解決策が示されます(例 https://stackoverflow.com/questions/3808954/dllunregisterserver-failed-with-error-code-0x80070005 )は、管理者権限でコマンドを開くことです。ただし、私の場合、管理者権限で開かれた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内からでも、同じエラーが発生します!

管理者特権のコマンドプロンプトからregsvr32コマンドを実行します。

コンテキストメニューから[Start > All Programs > Accessories', then right-clickコマンドプロンプトand select管理者として実行]を選択します。最後に、コマンドを入力します。

11
Apparao

エラー0x80070005Permission Deniedフォルダーまたはファイル(通常はキャッシュファイル)へのアクセスを意味します。

/Users/Public/Application Data/Package Cacheフォルダーに移動し、そこのフォルダーに適切な権限があることを確認します。そうでない場合は、それらを削除して再実行します。

wineを使用する場合も同様です。

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

それ以外の場合は、ログファイルで詳細を確認してください。

0
kenorb