DllRegisterServer виходить з ладу з 0x80070005 навіть на cmd, відкритому як адміністратор


12

Цей код помилки повинен означати "Заборонено доступ", і рішення, яке надається всюди в мережі (наприклад, /programming/3808954/dllunregisterserver-failed-with-error-code-0x80070005 ), має відкритись. cmd з правами адміністратора. Однак у моєму випадку однакова помилка трапляється навіть у cmd, відкритому з правами адміністратора (перевірено відповідями на /programming/7985755/how-to-detect-if-cmd-is-running- як-адміністратор-має-підвищені-привілеї ).

І те й інше

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, який сам запускався як адміністратор, але це теж призводить до тієї ж помилки!


Якщо ви перемістите файл у незахищену папку, чи працює він?
Ramhound

@Ramhound На жаль, так, те саме відбувається де б я не розміщував файли dll.
sundar

використовуйте ProcessMonitor замість regMon для контролю активності.
magicandre1981

@ magicandre1981 Так, я читав, що реґом був об'єднаний у проповідний, тому я і використовував. Я зробив фільтр, щоб спостерігати тільки regsvr32.exe, щоб відфільтрувати (тонни) шуму, а також змусив його показувати лише зміни в реєстрі. Було багато результатів «УСПІХ, ЗАПОВІДЕННЯ» та «ІМЕ», НЕ ЗНАЙДЕНО, але НЕ ЗАВАНТАЖЕНО ДОСТУП.
sundar

Відповіді:


11

Виконайте regsvr32команду з підвищеного командного рядка.

У контекстному меню виберіть Start > All Programs > Accessories', then right-clickкомандний рядок and selectЗапустити як адміністратор`. Нарешті, введіть команду.


4
І якщо помилка зберігається ...?
bigp

@bigp, можливо, тоді записи в реєстрі вже вилучені або якимось чином несправні
serup

0

Помилка 0x80070005означає дозвіл відхилений у доступі до папок або файлів (зазвичай файлів кешу).

Перейдіть у /Users/Public/Application Data/Package Cacheпапку та переконайтеся, що там папки мають правильні дозволи, інакше видаліть їх та повторно запустіть.

Те саме при використанні wine, наприклад

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

В іншому випадку перевірте файл журналу на деталі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.