Co to jest Regsvr32? (Serwer rejestru firmy Microsoft)

regsvr32 to narzędzie wiersza polecenia w systemie Windows, które oznacza Microsoft Register Server. Służy do rejestrowania i wyrejestrowywania formantów łączenia i osadzania obiektów (OLE), takich jak pliki .DLL i pliki .OCX formantów ActiveX.

Gdy regsvr32 rejestruje plik DLL, informacje o skojarzonych z nim plikach programu są dodawane do rejestru systemu Windows. Są to odniesienia, do których inne programy mogą uzyskać dostęp w rejestrze, aby zrozumieć, gdzie znajdują się dane programu i jak z nimi współdziałać.

Może być konieczne zarejestrowanie pliku DLL, jeśli widzisz błąd DLL na komputerze. Poniżej wyjaśniamy, jak to zrobić.

Te kroki dotyczą systemów Windows 10 do Windows XP.


Jak zarejestrować i wyrejestrować plik DLL

Jeśli odniesienia w rejestrze systemu Windows odnoszące się do pliku DLL zostaną w jakiś sposób usunięte lub uszkodzone, programy wymagające użycia tego pliku DLL mogą przestać działać. To wtedy, gdy to powiązanie z rejestrem zostanie zerwane, należy zarejestrować plik DLL.

Rejestracja pliku DLL jest zwykle wykonywana przez ponowne zainstalowanie programu, który go zarejestrował. Czasami jednak może być konieczne ręczne zarejestrowanie pliku DLL za pomocą wiersza polecenia.

Zapoznaj się z naszym samouczkiem, jak otworzyć wiersz polecenia, jeśli nie masz pewności, jak go znaleźć.

Oto poprawny sposób tworzenia struktury polecenia regsvr32:

regsvr32 [/ u] [/ n] [/ i [: cmdline]]

Na przykład należy wpisać to pierwsze polecenie, aby zarejestrować plik DLL o nazwie myfile.dll, lub drugie, aby go wyrejestrować:

regsvr32 myfile.dll
regsvr32 / u myfile.dll

Nie wszystkie biblioteki DLL można zarejestrować, wprowadzając powyższe polecenie w wierszu polecenia. Konieczne może być najpierw zamknięcie usługi lub programu używającego tego pliku.

Jak naprawić typowe błędy Regsvr32

Oto jeden błąd, który możesz zobaczyć podczas próby zarejestrowania pliku DLL:

Moduł został załadowany, ale wywołanie DllRegisterServer nie powiodło się z kodem błędu 0x80070005.

Zwykle jest to kwestia uprawnień. Jeśli uruchomienie wiersza polecenia z podwyższonym poziomem uprawnień nadal nie pozwala zarejestrować pliku DLL, sam plik może być zablokowany. Sprawdź sekcję Zabezpieczenia na karcie Ogólne w oknie Właściwości pliku.

Innym możliwym problemem może być brak odpowiednich uprawnień do korzystania z pliku.

Podobny komunikat o błędzie jest sformułowany jak ten poniżej. Ten błąd zazwyczaj oznacza, że ​​biblioteka DLL nie jest używana jako biblioteka DLL COM dla żadnej aplikacji na komputerze, co oznacza, że ​​nie ma potrzeby jej rejestrowania.

Moduł został załadowany, ale nie znaleziono punktu wejścia DllRegisterServer.

Oto kolejny komunikat o błędzie regsvr32:

Moduł nie został załadowany. Upewnij się, że plik binarny jest przechowywany w określonej ścieżce lub zdebuguj go, aby sprawdzić, czy nie występują problemy z binarnymi lub zależnymi plikami .DLL. Określony moduł nie został znaleziony.

Ten konkretny błąd może wynikać z braku zależności. W takim przypadku można użyć narzędzia Dependency Walker, aby wyświetlić listę wszystkich zależności wymaganych przez plik DLL, ponieważ może brakować jednego z nich, aby biblioteka DLL mogła zarejestrować się poprawnie.

Upewnij się również, że ścieżka do pliku DLL jest wpisana poprawnie. Składnia polecenia jest bardzo ważna; może zostać zgłoszony błąd, jeśli nie zostanie wprowadzony poprawnie.

W przypadku niektórych plików DLL może być konieczne umieszczenie ich lokalizacji w cudzysłowach w następujący sposób:

„C: Users Admin User Programs myfile.dll”


Gdzie jest przechowywany plik Regsvr32.exe?

32-bitowe wersje systemu Windows (XP i nowsze) dodają narzędzie Microsoft Register Server do tego folderu podczas pierwszej instalacji systemu Windows:

% systemroot% System32

64-bitowe wersje systemu Windows przechowują plik regsvr32.exe nie tylko tam, ale także w tym folderze:

% systemroot% SysWoW64


Dodaj komentarz