Wat om te weet
- Om 'n DLL-lêer myfile.dll te registreer, voer regsvr32 myfile.dll in en om dit te deregistreer, tik r egsvr32 /u myfile.dllin die opdragreël.
- As jy 'n fout kry wanneer jy probeer om 'n DLL-lêer te registreer, het jy dalk nie die regte toestemmings nie of die lêer kan geblokkeer word.
- Ander foute kan as gevolg van 'n ontbrekende afhanklikheid wees; indien wel, gebruik die Dependency Walker om alle afhanklikhede te sien wat die DLL-lêer vereis.
Hierdie artikel verduidelik hoe om die regsvr32-opdragreëlnutsding in Windows te gebruik en hoe om sommige regsvr32-foute reg te stel. Regsvr32 word gebruik om OLE-kontroles (Object Linking and Embedding) te registreer en te deregistreer, soos DLL-lêers en ActiveX Control. OCX lêers. Jy sal dalk 'n DLL-lêer moet registreer as jy 'n DLL-fout op jou rekenaar sien.
Hoe om 'n DLL-lêer te registreer en te deregistreer
As die verwysings in die Windows-register wat na die DLL-lêer verwys, op een of ander manier verwyder of beskadig word, kan programme wat daardie DLL-lêer moet gebruik, ophou werk. Dit is wanneer hierdie assosiasie met die register verbreek word dat 'n DLL-lêer geregistreer moet word.
Die registrasie van 'n DLL-lêer word tipies bewerkstellig deur die program wat dit in die eerste plek geregistreer het, te herinstalleer. Soms moet jy egter die DLL-lêer self met die hand registreer via die opdragprompt.
Sien ons tutoriaal oor hoe om opdragprompt oop te maak as jy nie seker is hoe om dit te vind nie.
Dit is die korrekte manier om 'n regsvr32-opdrag te struktureer:
regsvr32 [/u] [/n] [/i[:cmdline]
Jy sal byvoorbeeld hierdie eerste opdrag invoer om 'n DLL-lêer genaamd myfile.dll te registreer, of die tweede om dit te deregistreer:
regsvr32 myfile.dll
regsvr32 /u myfile.dll
Nie alle DLL's kan geregistreer word deur net die opdrag hierbo in 'n opdragprompt in te voer nie. Jy sal dalk eers die diens of program wat die lêer gebruik moet sluit.
Hoe om algemene Regsvr32-foute reg te stel
Hier is een fout wat jy dalk sal sien wanneer jy probeer om 'n DLL-lêer te registreer:
Die module is gelaai, maar die oproep na DllRegisterServer het misluk met foutkode 0x80070005.
Dit is tipies 'n toestemmingskwessie. As die bestuur van 'n verhoogde opdragprompt jou steeds nie toelaat om die DLL-lêer te registreer nie, kan die lêer self geblokkeer word. Gaan die Sekuriteit-afdeling van die Algemeen-oortjie in die lêer se Eienskappe-venster na.
'n Ander moontlike probleem kan wees dat jy nie die regte toestemmings het om die lêer te gebruik nie.
'n Soortgelyke foutboodskap is geformuleer soos die een hieronder. Hierdie fout beteken tipies dat die DLL nie as 'n COM DLL vir enige toepassing op die rekenaar gebruik word nie, wat beteken dat dit nie nodig is om dit te registreer nie.
Die module is gelaai, maar die toegangspunt DllRegisterServer is nie gevind nie.
Hier is nog 'n regsvr32-foutboodskap:
Die module kon nie laai nie. Maak seker dat die binêre by die gespesifiseerde pad gestoor word of ontfout dit om te kyk vir probleme met die binêre of afhanklike. DLL-lêers. Die gespesifiseerde module kon nie gevind word nie.
Daardie spesifieke fout kan wees as gevolg van 'n ontbrekende afhanklikheid, in welke geval jy Dependency Walker kan gebruik om 'n lys te sien van al die afhanklikhede wat die DLL-lêer vereis, aangesien een dalk ontbreek wat jy in orde moet hê vir die DLL om korrek te registreer.
Maak ook seker dat die pad na die DLL-lêer reg gespel is. Die sintaksis van die opdrag is baie belangrik; 'n fout kan gegooi word as dit nie korrek ingevoer is nie.
Sommige DLL-lêers moet dalk hul ligging in aanhalingstekens soos volg hê:
"C:\Users\Admin User\Programs\myfile.dll"
Waar word Regsvr32.exe gestoor?
32-bis weergawes van Windows (XP en nuwer) voeg die Microsoft Register Server-nutsding by hierdie vouer wanneer Windows die eerste keer geïnstalleer word: %systemroot%\System32\.
64-bis weergawes van Windows stoor die regsvr32.exe-lêer nie net daar nie, maar ook hier: %systemroot%\SysWoW64\.