OLE-kontroller, for eksempel filer til DLL- eller ActiveX-kontroller (OCX), må være registrert. Når en OLE-kontroll registreres, oppdateres Windows-registeret med filens plassering og egenskaper slik at et program kjøres riktig.
Når du skal feilsøke enkelte problemer med Windows, Microsoft Internet Explorer eller andre programmer, kan du bruke verktøyet Regsvr32 tool (Regsvr32.exe) til å registrere og fjerne registrering av OLE-kontroller.
For eksempel krever følgende artikkel i Microsoft Knowledge Base at du bruker Regsvr32.exe til å fjerne registrering av kontrollen Wuv3is.dll før du installerer den på nytt fra webområdet Windows Update:
241122
(http://support.microsoft.com/kb/241122/
)
Programfeil når du klikker Produktoppdateringer
(Dette kan være på engelsk)
Hvis registreringen av en kontroll ikke er vellykket, eller hvis du vil ha utviklerinformasjon om hvordan du feilsøker en mislykket OLE-registrering, kan du se i Microsoft Knowledge Base-artikkel
140346
(http://support.microsoft.com/kb/140346/
)
Mulige årsaker for feil ved registrering av OLE-kontroll
(Dette kan være på engelsk)
Regsvr32.exe er inkludert i Microsoft Internet Explorer 3.0 og nyere versjoner, i Windows 95 OEM Service Release 2 (OSR2) og nyere versjoner og i Windows NT 4.0 Service Pack 5 (SP5) og nyere versjoner. Regsvr32.exe er installert i mappen System (Windows Millennium Edition/Windows 98/Windows 95) eller System32 (Windows NT/Windows XP/Windows Vista/Windows 7).
Skjul dette bildetVis dette bildet
Obs! På en 64-biters versjon av et Windows-operativsystem finnes det to versjoner av filen Regsv32.exe:
- 64-biters-versjonen er % systemroot%\System32\regsvr32.exe.
- 32-biters-versjonen er % systemroot%\SysWoW64\regsvr32.exe.
Bruk av Regsvr32.exe
RegSvr32.exe har følgende kommandolinjealternativer:
Click here to show/hide solution
Regsvr32 [/ u] [/ n] [/i [: cmdline] dllname
/u - Avregistrer server
/i - Kall opp DllInstall og overfør som valgfri [kommandolinje]; kaller opp dll avinstallering ved bruk sammen med /u
/n - ikke kall opp DllRegisterServer; Dette alternativet må brukes sammen med /i
/s ? Stille; ingen meldingsbokser vises (lagt til i Windows XP og Windows Vista)
Når du bruker Regsvr32.exe, prøver den å laste inn komponentene og kalle opp funksjonen
DLLSelfRegister. Hvis forsøket er vellykket, viser Regsvr32.exe en dialogboks som indikerer at det var vellykket. Hvis forsøket er mislykket, returnerer Regsvr32.exe en feilmelding. Dette kan inkludere en Win32-feilkode.
Hvis du vil ha mer informasjon, kan du klikke følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:
193625
(http://support.microsoft.com/kb/193625/
)
WinInet-feilkoder (12001 til 12156)
(Dette kan være på engelsk)
For eksempel, manuell registrering av en Sample.ocx ActiveX-kontroll, skriver du inn følgende kommando ved ledeteksten:
c:\regsvr32.exe sample.ocx
Regsvr32.exe-feilmeldinger i Windows Vista og nyere versjoner
Følgende liste inneholder RegSvr32-feilmeldinger du kan få, og mulige årsaker:
Click here to show/hide solution
- Kommandoflagg "% 1" " er ikke gyldig. Gjennomgå bruken av kommandoen, og prøv på nytt.
Det ble overført en ugyldig kombinasjon av alternativer i kommandolinjen til regsvr32.exe.
- Denne kommandoen er bare gyldig hvis det er åpnet et OLE ActiveX-kontrollprosjekt i Microsoft Visual Studio.
Regsvr32.exe ble startet av Visual Studio, men ingen moduler ble angitt på kommandolinjen.
- Hvis du vil registrere en modul, må du oppgi et binærnavn.
Regsvr32.exe ble startet uten å angi noen moduler i kommandolinjen.
- Kommandoen OleInitialize kan ikke kjøre. Det kan være lite minne på datamaskinen. Lukk alle åpne programmer, og prøv deretter på nytt.
Regsvr32 må initialisere COM-biblioteket før det kan kalle opp de nødvendige COM-bibliotekfunksjonene og avinitialisere biblioteket når det avsluttes. Disse feilmeldingene kan oppstå hvis et forsøk på å initialisere eller avinitialisere COM-biblioteket er mislykket.
- Kan ikke laste inn modulen ""%1"".\n\n Kontroller at binærfilene er lagret på den angitte banen, eller feilsøk den for å se om det er problemer med binærfiler eller avhengige DLL-filer.\n\n%2.
Det oppstod en feil under lasting av en modul som ble angitt på kommandolinjen. Feilteksten vises som en del av meldingen.
- Modul "% 1" " ble lastet inn, men fant ikke oppføringspunkt %2.\n\nKontroller at "% 1" " er en gyldig DLL- eller OCX-fil, og prøv deretter på nytt
Regsvr32.exe finner ikke det nødvendige oppføringspunktet i modulen som er angitt på kommandolinjen. Dette kan skje hvis oppføringene ikke eksporteres riktig fra modulen, eller hvis modulen ikke er en .DLL- eller .OCX-fil.
- Modulen ""%1"" ble lastet inn, men oppkalling til %2 var mislykket og fikk feilkode %3.\n\nDu finner mer informasjon om dette problemet ved å søke på Internett med feilkoden som søkeord.
Det oppsto en feil når Regsvr32.exe aktiverte oppføringspunktet i modulen som er angitt på kommandolinjen. Feilkoden vises som en del av meldingen.
- Modul "% 1" " er kanskje ikke kompatibel med versjonen av Windows du kjører. Kontroller om modulen er kompatibel med en x86 (32-biters) eller x64 (64-bit) versjon av regsvr32.exe.
Denne feilen kan oppstå hvis for eksempel regsvr32.exe kjøres på en x86-datamaskin og den angitte modulen er en 64-biters modul.
Regsvr32.exe-feilmeldinger i Windows-versjoner som er eldre enn Windows Vista
Følgende liste inneholder RegSvr32-feilmeldinger du kan få, og mulige årsaker:
Click here to show/hide solution
- Ukjent flagg: /invalid_flag
Du skrev inn en ugyldig kombinasjon av flagg eller brytere (se delen "Bruk av Regsvr32.exe" i denne artikkelen).
- Ingen DLL-navn er angitt.
Du tok ikke med navn på en DLL-fil (se delen "Bruk av Regsvr32.exe" i denne artikkelen).
- Dll_Name ble lastet inn, men oppføringspunktet for DllRegisterServer eller DllUnregisterServer ble ikke funnet.
Det angitte Dll-navnet er ikke en .DLL- eller .ocx-file. Hvis du for eksempel skriver inn regsvr32 wjview.exe, genereres denne feilmeldingen.
- Dll_Name er ikke en kjørbar fil, og det er ikke registrert noen registreringshjelper for denne filtypen.
Den angitte DLL-navnet er ikke en kjørbar fil (.exe, .dll eller .ocx). Hvis du for eksempel skriver inn regsvr32 autoexec.bat, genereres denne feilmeldingen.
- Dll_Name ble lastet inn, men oppføringspunktet for DllRegisterServer eller DllUnregisterServer ble ikke funnet.
Det angitte Dll-navnet kan kanskje ikke eksporteres, eller det kan ligge en skadet versjon av det angitte Dll-navnet i minnet. Vurder å bruke Pview til å finne filen og fjerne den.
- Dll_Name er ikke selvregistrerende, eller det ligger en skadet versjon i minnet.
Hvis du for eksempel skriver inn regsvr32 icwdial.dll, genereres denne feilmeldingen fordi filen Icwdial.dll ikke er selvregistrerende. Hvis du tror at det ligger en skadet versjon av Dllname i minnet, må du prøve å starte datamaskinen på nytt, eller pakke den originale filversjonen ut på nytt. Hvis du kjører Windows NT, kan det hende at du må bruke verktøyet Kill eller Pview fra Microsoft Windows NT Server 4.0 Resource Kit. Du finner mer informasjon i Microsoft Knowledge Base-artikkel
197155: Slik deaktiveres en frittstående prosess
(http://support.microsoft.com/kb/197155)
(Dette kan være på engelsk)
- OleInitialize mislyktes (eller OleUninitialize mislyktes)
Regsvr32 må initialisere COM-biblioteket før det kan kalle opp de nødvendige COM-bibliotekfunksjonene og avinitialisere biblioteket når det avsluttes. Disse feilmeldingene kan oppstå hvis et forsøk på å initialisere eller avinitialisere COM-biblioteket er mislykket. Ole32.dll-filen kan være skadet eller kan være feil versjon.
- LoadLibrary ("Dll_Name") mislyktes. GetlastError returnerer 0x00000485
Fra Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Dette betyr "Finner ikke en av bibliotekfilene som trengs for å kjøre dette programmet." Hvis du for eksempel skriver inn regsvr32 missing.dll, genereres feilmeldingen hvis Missing.dll-filen ikke finnes.
- LoadLibrary ("Dll_Name") mislyktes. GetLastError returnerer 0x00000002
Fra Winerror.h 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Dette betyr "Systemet finner ikke den angitte filen". Med andre ord ble en avhengig DLL ikke funnet. Hvis du for eksempel skriver inn regsvr32 icwdial.dll når Tapi32.dll (en avhengighet) mangler, genereres denne feilmeldingen.
- LoadLibrary("dskmaint.dll") mislyktes. GetLastError returnerer 0x000001f
Fra Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Dette betyr "En enhet koblet til systemet virker ikke". Dette kan skje hvis du prøver å registrere en Win16-DLL-fil. Hvis du for eksempel skriver inn regsvr32 dskmaint.dll, genereres denne feilmeldingen.
- DllRegisterServer (eller DllUnregisterServer) i Dll_Name mislyktes. Returkoden var: streng
Søk i Winerror.h-filen etter strengen som er angitt i meldingen.
Artikkel-ID: 249873 - Forrige gjennomgang: 31. oktober 2012 - Gjennomgang: 2.0
Informasjonen i denne artikkelen gjelder:
- Windows Vista Enterprise
- Windows Vista Business
- Windows Vista Business N 64-bit Edition
- Windows Vista Home Basic
- Windows Vista Home Basic N
- Windows Vista Home Basic N 64-bit Edition
- Windows Vista Home Premium
- Windows Vista Starter
- Windows Vista Ultimate
- Windows Vista Business N
- Windows Vista Business 64-bit edition
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
- Microsoft Windows XP Professional
- Microsoft Windows XP Professional N
- Microsoft Windows XP Home Edition N
- Microsoft Windows XP Tablet PC Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows 95
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
- Windows 7 Enterprise
- Windows 7 Home Basic
- Windows 7 Home Premium
- Windows 7 Professional
- Windows 7 Starter
- Windows 7 Ultimate
- Windows 7 Enterprise N
- Windows 7 Home Premium N
- Windows 7 Professional N
- Windows 7 Starter N
- Windows 7 Ultimate N
| kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873 |