Jak używać narzędzia Regsvr32 i rozwiązywać problemy z jego komunikatami o błędach

Zakończono świadczenie pomocy technicznej dla systemu Windows XP

Firma Microsoft zakończyła świadczenie pomocy technicznej dla systemu Windows XP 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

Jeśli w tym artykule nie opisano odpowiedniego komunikatu o błędzie, szczegółowe wyjaśnienie komunikatu o błędzie, zalecane czynności i dodatkowe zasoby pomocy technicznej można znaleźć na stronie zdarzeń i błędów w witrynie TechNet.
Streszczenie
Regsvr32 to narzędzie wiersza polecenia służące do rejestrowania i wyrejestrowywania kontrolek OLE, takich jak kontrolki bibliotek DLL i kontrolki ActiveX, w rejestrze systemu Windows Registry. Narzędzie Regsvr32.exe jest instalowane w folderze %systemroot%\System32 w systemie Windows XP i w nowszych wersjach systemu Windows.

Uwaga: w 64-bitowej wersji systemu operacyjnego Windows istnieją dwie wersje pliku RegSvr32.exe:
  • Wersja 64-bitowa %systemroot%\System32\regsvr32.exe.
  • Wersja 32-bitowa %systemroot%\SysWoW64\regsvr32.exe.
Składnia polecenia Regsvr32
Narzędzie RegSvr32.exe ma następujące opcje wiersza polecenia:
Regsvr32 [/u] [/n] [/i[:wiersz_polecenia]] <nazwa_biblioteki_dll>

/u — Wyrejestruj serwer.
/i — Wywołaj funkcję DllInstall, przekazując jej opcjonalny [wiersz_polecenia]; użycie tej opcji razem z opcją /u wywołuje funkcję dll uninstall.
/n — Nie wywołuj funkcji DllRegisterServer. Ta opcja musi być używana wraz z opcją /i.
/s — Tryb cichy. Nie wyświetlaj żadnych okien komunikatów.
Typowe rozwiązania błędów narzędzia Regsvr32
W przypadku błędu narzędzia Regsvr32 należy wypróbować jedną z następujących metod:
  • Metoda 1. Ponownie uruchom narzędzie Regsvr32 w wierszu polecenia z podwyższonym poziomem uprawnień

    Aby otworzyć wiersz polecenia z podwyższonym poziomem uprawnień, wykonaj następujące kroki:
    Windows 8.1 i Windows 8
    Szybko przesuń od prawej krawędzi ekranu, a następnie naciśnij opcję Szukaj. Jeśli używasz myszy, wskaż prawy dolny róg ekranu i kliknij panel Wyszukiwanie. Wpisz tekst Wiersz polecenia w polu Wyszukaj, kliknij prawym przyciskiem myszy pozycję Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator. Jeśli zostanie wyświetlony monit o podanie hasła administratora lub potwierdzenie, wpisz hasło lub kliknij przycisk Zezwalaj.
    Windows 7 i Windows Vista
    Kliknij przycisk Start, wpisz ciąg Wiersz polecenia lub cmd w polu Szukaj, kliknij prawym przyciskiem myszy pozycję Wiersz polecenia, a następnie kliknij polecenie Uruchom jako administrator. Jeśli zostanie wyświetlony monit o podanie hasła administratora lub potwierdzenie, wpisz hasło lub kliknij przycisk Zezwalaj.
    Windows XP
    Zaloguj się przy użyciu konta administratora lub konta mającego uprawnienia administratora, a następnie otwórz okno Wiersz polecenia.
  • Metoda 2. Użyj 32-bitowej wersji narzędzia Regsvr32, aby zarejestrować 32-bitową bibliotekę DLL w 64-bitowej wersji systemu Windows

    Jeśli podczas rejestrowania 32-bitowej biblioteki DLL w 64-bitowej wersji systemu Windows zostanie wyświetlony błąd, wykonaj poniższe kroki:
    1. Otwórz wiersz polecenia z podwyższonym poziomem uprawnień.
    2. Jeśli 32-bitowa biblioteka DLL znajduje się w folderze %systemroot%\System32, przenieś ją do folderu %systemroot%\SysWoW64.
    3. Uruchom następujące polecenie:
      %systemroot%\SysWoW64\regsvr32 <pełna_ścieżka_biblioteki_DLL>
Komunikaty o błędach narzędzia Regsvr32

Komunikaty o błędach narzędzia Regsvr32 w systemie Windows Vista i nowszych wersjach systemu Windows

Poniższa tabela zawiera komunikaty o błędach narzędzia RegSvr32 oraz możliwe przyczyny:
Komunikat o błędziePrzyczyna
Flaga polecenia %1 jest nieprawidłowa. Przejrzyj opis sposobu użycia polecenia i spróbuj ponownie.Do narzędzia regsvr32.exe została przekazana nieprawidłowa kombinacja opcji za pomocą wiersza polecenia.
To polecenie jest prawidłowe tylko wtedy, gdy jest otwarty projekt formantu ActiveX OLE Microsoft Visual Studio.Narzędzie Regsvr32.exe zostało wywołane przez program Visual Studio, jednak w wierszu polecenia nie określono żadnych modułów.
Aby zarejestrować moduł, należy podać nazwę binarną.Narzędzie Regsvr32.exe zostało wywołane bez określenia modułu w wierszu polecenia.
Nie można uruchomić polecenia OleInitialize. Być może w komputerze jest za mało pamięci. Zamknij wszystkie otwarte programy, a następnie spróbuj ponownie.Narzędzie Regsvr32 musi zainicjować bibliotekę COM, aby móc wywoływać z niej niezbędne funkcje, a następnie odinicjować bibliotekę w chwili jej zamykania. Te komunikaty o błędzie występują, jeśli próba inicjacji lub usunięcia inicjacji biblioteki COM nie powiedzie się.
Nie można załadować modułu „%1”.\n\n Upewnij się, że plik binarny jest przechowywany w określonej ścieżce, lub zdebuguj go, aby sprawdzić, czy występują problemy z plikiem binarnym lub zależnymi plikami DLL.\n\n%2.Wystąpił błąd podczas ładowania modułu określonego w wierszu polecenia. Tekst błędu jest wyświetlany jako część komunikatu.
Moduł „%1” został załadowany, ale nie odnaleziono punktu wejścia %2.\n\nUpewnij się, że plik „%1” jest prawidłowym plikiem DLL lub OCX, a następnie spróbuj ponownie.Narzędzie Regsvr32.exe nie mogło odnaleźć wymaganego punktu wejścia w module określonym w wierszu polecenia. Problem może wystąpić, jeśli punkty wejścia nie zostały poprawnie wyeksportowane z modułu lub jeśli moduł nie jest plikiem DLL ani OCX.
Moduł „%1” został załadowany, ale wywołanie funkcji %2 nie powiodło się i został zwrócony kod błędu %3.\n\nAby uzyskać więcej informacji dotyczących tego problemu, przeprowadź wyszukiwanie w trybie online, używając kodu błędu jako wyszukiwanego terminu.Wystąpił błąd podczas wywoływania przez narzędzie Regsvr32.exe punktu wejścia w module określonym w wierszu polecenia. Kod błędu jest wyświetlany jako część komunikatu.
Moduł „%1” może nie być zgodny z używaną wersją systemu Windows. Sprawdź, czy moduł jest zgodny z 32-bitową (x86) lub 64-bitową (x64) wersją narzędzia regsvr32.exe.Ten błąd może wystąpić, jeśli narzędzie regsvr32.exe uruchomiono na komputerze z procesorem x86, a w wierszu polecenia określono moduł 64-bitowy.

Komunikaty o błędach narzędzia Regsvr32.exe w systemie Windows XP

Poniższa tabela zawiera komunikaty o błędach narzędzia RegSvr32 oraz możliwe przyczyny:
Komunikat o błędziePrzyczyna
Nierozpoznana flaga: /nieprawidłowa_flagaWpisano nieprawidłowe połączenie flag lub przełączników.
Nie określono nazwy biblioteki DLL.Nie dołączono nazwy pliku dll.
Plik nazwa_pliku_dll został załadowany, ale nie odnaleziono punktu wejścia DllRegisterServer lub DllUnregisterServer.Plik nazwa_pliku_dll nie jest plikiem dll ani ocx. Ten komunikat o błędzie powoduje wpisanie na przykład polecenia regsvr32 wjview.exe.
Plik nazwa_pliku_dll nie jest plikiem wykonywalnym i dla tego typu pliku nie jest zarejestrowany żaden pomocnik.Plik nazwa_pliku_dll nie jest plikiem wykonywalnym (exe, dll lub ocx). Ten komunikat o błędzie powoduje na przykład wpisanie polecenia regsvr32 autoexec.bat.
Plik nazwa_pliku_dll nie jest plikiem samoczynnie rejestrującym się lub w pamięci znajduje się uszkodzona wersja.Na przykład po wpisaniu polecenia regsvr32 icwdial.dll jest zwracany ten komunikat o błędzie, ponieważ Icwdial.dll nie jest plikiem samoczynnie rejestrującym się. W razie podejrzeń, że w pamięci znajduje się uszkodzona wersja pliku nazwa_pliku_dll, należy spróbować ponownie uruchomić komputer lub ponownie wyodrębnić oryginalną wersję pliku.
Funkcja OleInitialize nie powiodła się (lub „Funkcja OleUninitialize nie powiodła się”)Narzędzie Regsvr32 musi zainicjować bibliotekę COM, aby móc wywoływać z niej niezbędne funkcje, a następnie odinicjować bibliotekę w chwili jej zamykania. Te komunikaty o błędzie występują, jeśli próba inicjacji lub usunięcia inicjacji biblioteki COM nie powiedzie się. Może to oznaczać na przykład, że plik Ole32.dll jest uszkodzony lub jego wersja jest niewłaściwa.
Funkcja LoadLibrary("nazwa_pliku_dll") nie powiodła się. Funkcja GetlastError zwraca kod 0x00000485Plik Winerror.h — kod 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Oznacza to „Nie można odnaleźć jednego z plików bibliotek potrzebnych do uruchomienia tej aplikacji”. Na przykład wpisanie polecenia regsvr32 missing.dll powoduje zwrócenie tego komunikatu o błędzie, jeśli nie zostanie znaleziony plik Missing.dll.
Funkcja LoadLibrary("nazwa_pliku_dll") nie powiodła się. Funkcja GetLastError zwraca kod 0x00000002Plik Winerror.h — kod 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Oznacza to „System nie może odnaleźć określonego pliku”. Inaczej mówiąc, nie znaleziono zależnego pliku DLL. Na przykład wpisanie polecenia regsvr32 icwdial.dll przy brakującym pliku Tapi32.dll (zależność) powoduje zwrócenie tego komunikatu o błędzie.
Funkcja LoadLibrary("dskmaint.dll") nie powiodła się. Funkcja GetLastError zwraca kod 0x000001fPlik Winerror.h — kod 0x000001f = 31 (ERROR_GEN_FAILURE). Oznacza to „Urządzenie podłączone do systemu nie działa”. Zachowanie to może być spowodowane próbą zarejestrowania pliku .dll Win16. Na przykład wpisanie polecenia regsvr32 dskmaint.dll powoduje zwrócenie tego komunikatu o błędzie.
Funkcja DllRegisterServer (lub DllUnregisterServer) w pliku nazwa_pliku_dll nie powiodła się. Kod zwrotny to: ciągW pliku Winerror.h należy odnaleźć ciąg określony w komunikacie.
regsrv32
Właściwości

Identyfikator artykułu: 249873 — ostatni przegląd: 06/30/2016 13:08:00 — zmiana: 15.0

Windows 10 Pro, released in July 2015, Windows 10 Enterprise, released in July 2015, Windows Vista Enterprise, Windows Vista Business, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Ultimate, Microsoft Windows XP Home Edition, Microsoft Windows XP Media Center Edition 2005 Update Rollup 2, Microsoft Windows XP Professional, Microsoft Windows XP Tablet PC Edition, Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Ultimate, Windows 8, Windows 8 Enterprise, Windows 8 Pro, Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro

  • kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873
Opinia