DllRegisterServer kończy się niepowodzeniem z 0x80070005 nawet na cmd otwartym jako Administrator

12

Ten kod błędu ma oznaczać „Odmowa dostępu”, a rozwiązanie podane wszędzie w sieci (np. Https://stackoverflow.com/questions/3808954/dllunregisterserver-failed-with-error-code-0x80070005 ) ma zostać otwarte polecenie cmd z uprawnieniami administratora. Jednak w moim przypadku ten sam błąd występuje nawet na cmd otwartym z prawami administratora (testowane z odpowiedziami na /programming/7985755/how-to-detect-if-cmd-is-running- as-administrator-ma-podwyższone uprawnienia ).

Obie

regsvr32.exe "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

i

 C:\windows\SysWOW64\regsvr32.exe  "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

kończy się niepowodzeniem z tym samym komunikatem o błędzie, że dany moduł został załadowany, ale wywołanie DllRegisterServer nie powiodło się z kodem 0x80070005.

Starałem się kontrolować dostępy do rejestru, jak podano w http://www.cryer.co.uk/brian/windows/troubleshooting/nt4_dllregisterserver_in_com_failed_0x80070005.htm , ale nie są ACCESS DENIEDlub ACCDENIEDwyniki w ogóle w otrzymanym liście.

Edycja: Teraz nawet próbowałem

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

z poziomu cmd, który sam był uruchomiony jako Administrator, ale to również powoduje ten sam błąd!

sundar - Przywróć Monikę
źródło
Czy przeniesienie pliku do folderu niechronionego działa?
Ramhound,
@Ramhound Niestety tak, to samo dzieje się wszędzie tam, gdzie umieszczam pliki DLL.
Sundar - Przywróć Monikę
użyj ProcessMonitor zamiast regMon do monitorowania aktywności.
magicandre1981,
@ magicandre1981 Tak, czytam, że regmon został scalony w procmon, więc tego właśnie użyłem. Zrobiłem filtr, aby obserwować tylko regsvr32.exe, aby odfiltrować (mnóstwo) hałasu, a także pokazałem tylko zmiany w rejestrze. Było wiele wyników: SUKCES, PRZEPROWADZENIE i NAZWA NIE ZNALEZIONO, ale nie odmówiono dostępu.
sundar - Przywróć Monikę

Odpowiedzi:

11

Uruchom regsvr32polecenie z poziomu wiersza polecenia z podwyższonym poziomem uprawnień .

Wybierz Start > All Programs > Accessories', then right-clickpolecenie Wiersz polecenia and selectUruchom jako administrator` z menu kontekstowego. Na koniec wpisz polecenie.

Aparatura
źródło
4
A jeśli błąd będzie się powtarzał ...?
bigp
@bigp być może wtedy wpisy w rejestrze są już usunięte lub w jakiś sposób wadliwe
serup
0

Błąd 0x80070005oznacza, że odmowa dostępu do folderów lub plików (zwykle pliki pamięci podręcznej).

Przejdź do /Users/Public/Application Data/Package Cachefolderu i upewnij się, że foldery mają odpowiednie uprawnienia, w przeciwnym razie usuń je i uruchom ponownie.

To samo przy użyciu wine, np

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

W przeciwnym razie sprawdź plik dziennika, aby uzyskać szczegółowe informacje.

kenorb
źródło