Сбой 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 Да, я читал, что regmon был объединен с procmon, поэтому я использовал это. Я сделал фильтр для наблюдения только 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.