Mitä tietää
- Rekisteröi DLL-tiedosto myfile.dlltulla sisään regsvr32 myfile.dllja peruuttaaksesi rekisteröinnin, kirjoita uregsvr32 /u myfile.dll komentorivillä.
- Jos saat virheilmoituksen rekisteröidessäsi DLL-tiedostoa, sinulla ei ehkä ole oikeita käyttöoikeuksia tai tiedosto saattaa olla estetty.
- Muut virheet voivat johtua puuttuvasta riippuvuudesta; jos näin on, käytä Dependency Walkeria nähdäksesi kaikki DLL:n tarvitsemat riippuvuudet.
Tässä artikkelissa kerrotaan, miten regsvr32-komentorivityökalua käytetään Windowsissa ja kuinka korjataan joitain regsvr32-virheitä. Regsvr32:ta käytetään OLE (Object Linking and Embedding) -komponenttien, kuten DLL-tiedostojen ja ActiveX-komponentin .OCX-tiedostojen, rekisteröimiseen ja rekisteröinnin poistamiseen. Sinun on ehkä rekisteröitävä DLL-tiedosto, jos näet DLL-virheen tietokoneellasi.
DLL-tiedoston rekisteröinti ja tilauksen peruuttaminen
Jos Windowsin rekisterin DLL-tiedostoon osoittavat viittaukset poistetaan tai vioittuvat, ohjelmat, jotka tarvitsevat tätä DLL-tiedostoa, saattavat lakata toimimasta. Juuri kun tämä yhteys rekisteriin katkeaa, DLL-tiedosto on rekisteröitävä. DLL-tiedoston rekisteröinti suoritetaan yleensä asentamalla uudelleen se ohjelma, joka rekisteröi sen alun perin. Joskus sinun on kuitenkin rekisteröitävä DLL-tiedosto manuaalisesti komentokehotteen kautta. Katso opetusohjelmamme komentokehotteen avaamisesta, jos et ole varma, kuinka se löytyy. Tämä on oikea tapa jäsentää regsvr32-komento:
regsvr32 [/u] [/n] [/i[:cmdline]]
Syötät esimerkiksi tämän ensimmäisen komennon rekisteröidäksesi DLL-tiedoston nimeltä myfile.dlltai toinen, joka peruuttaa rekisteröinnin:
regsvr32 myfile.dll
regsvr32 /u myfile.dll
Kaikkia DLL-tiedostoja ei voi rekisteröidä kirjoittamalla yllä oleva komento komentokehotteeseen. Sinun on ehkä ensin suljettava tiedostoa käyttävä palvelu tai ohjelma.
Korjaa yleiset Regsvr32-virheet
Tässä on virhe, jonka saatat nähdä, kun yrität rekisteröidä DLL-tiedostoa:
The module was loaded but the call to DllRegisterServer failed with error code 0x80070005.
Tämä on yleensä lupakysymys. Jos korotetun komentokehotteen suorittaminen ei edelleenkään pysty rekisteröimään DLL:ää, itse tiedosto saattaa olla estetty. Tarkista Turvallisuus osa Kenraali välilehti tiedostossa Ominaisuudet ikkuna. Toinen mahdollinen ongelma voi olla, että sinulla ei ole oikeita oikeuksia käyttää tiedostoa. Samanlainen virheilmoitus on muotoiltu kuten alla. Tämä virhe tarkoittaa yleensä sitä, että DLL:tä ei käytetä COM DLL:nä tietokoneessa olevan sovelluksen osalta, mikä tarkoittaa, että sitä ei tarvitse rekisteröidä.
The module was loaded but the entry-point DllRegisterServer was not found.
Tässä on toinen regsvr32-virhe:
The module failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. The specified module could not be found.
Tämä tietty virhe voi johtua puuttuvasta riippuvuudesta, jolloin voit käyttää Dependency Walkeria nähdäksesi luettelon kaikista DLL:n tarvitsemista riippuvuuksista, koska sieltä saattaa puuttua yksi, jota tarvitset DLL:n rekisteröimiseksi oikein. Varmista myös, että polku DLL-tiedostoon on kirjoitettu oikein. Komennon syntaksi on erittäin tärkeä; virhe voi tapahtua, jos sitä ei ole syötetty oikein. Jotkin DLL-tiedostot saattavat edellyttää sijainnin olevan lainausmerkeissä, kuten tämä:
"C:UsersAdmin UserProgramsmyfile.dll"
Mihin Regsvr32.exe on tallennettu?
Windowsin 32-bittiset versiot (XP ja uudemmat) lisäävät Microsoft Register Server -työkalun tähän kansioon, kun Windows asennetaan ensimmäisen kerran: %systemroot%System32. Windowsin 64-bittiset versiot tallentavat regsvr32.exe-tiedoston ei vain sinne, vaan myös tänne: %systemroot%SysWoW64.