Regsvr32-työkalun käyttäminen ja Regsvr32-virhesanomien vianmääritys

Koskee seuraavia: Windows Vista EnterpriseWindows Vista BusinessWindows Vista Business N 64-bit Edition Enemmän

Jos olet Small Business Customer -asiakas, voit etsiä lisää vianmääritys- ja oppimisresursseja Support for Small Business -sivustosta.
Jos tässä artikkelissa ei ole näkemäsi virhesanoman kuvausta, voit hakea yksityiskohtaisia virhesanomien kuvauksia, suositeltuja toimintatapoja ja muita tukiresursseja tapahtumien ja virhesanomien tukisivustosta.

Yhteenveto


OLE-ohjausobjektit, kuten DLL- ja ActiveX-ohjausobjektitiedostot (OCX) on rekisteröitävä. OLE-ohjausobjektien rekisteröiminen päivittää Windows-rekisteriin tiedoston sijainnin ja ominaisuudet, jotta ohjelma voidaan suorittaa oikein.

Voit tehdä Windowsin, Microsoft Internet Explorerin tai muiden ohjelmien vianmääritystä käyttämällä Regsvr32-työkalua (Regsvr32.exe) OLE-ohjausobjektien rekisteröimiseen ja rekisteröinnin poistamiseen.

Esimerkiksi seuraavassa Microsoft Knowledge Base -artikkelissa edellytetään, että käytät Regsvr32.exe-työkalua Wuv3is.dll-ohjausobjektin rekisteröinnin purkamiseen, ennen kuin asennat sen uudelleen Windows Update -sivustosta:
241122 Sovellusvirhe napsautettaessa tuotepäivityksiä (Tämä artikkeli saattaa olla englanninkielinen)
Jos ohjausobjektin rekisteröinti ei onnistu tai haluat kehittäjätietoja siitä, kuinka epäonnistuneiden OLE-ohjausobjektien rekisteröintien vianmääritystä voi tehdä, katso lisätietoja Microsoft Knowledge Base -artikkelista. 
140346 Mahdollisia syitä OLE-ohjausobjektin rekisteröintivirheelle (Tämä artikkeli saattaa olla englanninkielinen)

Enemmän tietoa


Regsvr32.exe sisältyy Microsoft Internet Explorer 3.0:een ja uudempiin versioihin, Windows 95 OEM Service Release 2 (OSR2) -versioon tai uudempiin sekä Windows NT 4.0 Service Pack 5:een (SP5) ja uudempiin versioihin. Regsvr32.exe on asennettu System-kansioon (Windows Millennium Edition/Windows 98/Windows 95) tai System32-kansioon (Windows NT/Windows XP/Windows Vista/Windows 7). 

Huomautus 64-bittisissä Windows-versiossa on kaksi versiota Regsv32.exe-tiedostosta:
  • 64-bittisen version sijainti on %systemroot%\System32\regsvr32.exe.
  • 32-bittisen version sijainti on %systemroot%\SysWoW64\regsvr32.exe.

Regsvr32.exe-työkalun käyttäminen

RegSvr32.exe-työkalulla on seuraavat komentorivivalitsimet:

Click here to show/hide solution
 
Regsvr32 [/u] [/n] [/i[:komentorivi]] dll-tiedoston nimi

/u - Poista palvelimen rekisteröinti

/i - Kutsu DllInstall-toimintoa ja välitä valinnainen [komentorivi]-syöte; kutsuu dll-tiedoston asennuksen poiston käytettäessä /u-valitsimen kanssa
/n - älä kutsu DllRegisterServer-toimintoa; tätä valitsinta on käytettävä /i-valitsimen kanssa

/s – Hiljainen; ei näytä viestiruutuja (lisätty Windows XP- ja Windows Vista -järjestelmissä)
Kun Regsvr32.exe-työkalua käytetään, se yrittää ladata komponentin ja kutsuu sen DLLSelfRegister-toimintoa. Jos tämä yritys ei onnistu, Regsvr32.exe näyttää valintaikkunan, jossa ilmoitetaan onnistumisesta. Jos yritys ei onnistu, Regsvr32.exe palauttaa virhesanoman. Tähän voi kuulua Win32-virhesanoma. Saat lisätietoja napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokannassa:

193625 WinInet-virhekoodit (12001 - 12156) (Tämä artikkeli saattaa olla englanninkielinen)
Voit esimerkiksi manuaalisesti rekisteröidä Sample.ocx-ActiveX-ohjausobjektin kirjoittamalla seuraavan komennon komentoriville:

c:\regsvr32.exe sample.ocx

Regsvr32.exe-virhesanoma Windows Vistassa ja myöhemmissä versioissa

Seuraavassa luettelossa on ilmoitettu RegSvr32-virhesanomat ja niiden mahdolliset syyt:

Click here to show/hide solution
 
  • Komentomerkintä ""%1"" ei ole kelvollinen. Tarkista komennon käyttötapa ja yritä uudelleen.
  • Virheellinen valitsimien yhdistelmä välitettiin komentorivillä komennolle regsvr32.exe.
  • Tämä komento on kelvollinen vain, jos Microsoft Visual Studio OLE Activex Control -projekti on avattu.
  • Visual Studio kutsui Regsvr32.exe-ohjelmaa, mutta mitään moduuleja ei määritetty komentorivillä.
  • Voit rekisteröidä moduulin antamalla binaaritiedoston nimen.
  • Regsvr32.exe-ohjelmaa kutsuttiin määrittämättä mitään moduuleja komentorivillä.
  • OleInitialize-komennon suorittaminen ei onnistu. Tietokoneesi muisti voi olla vähissä. Sulje joitakin avoimia ohjelmia ja yritä uudelleen.
  • Regsvr32-ohjelman on alustettava COM-kirjasto, ennen kuin se voi kutsua COM-kirjastotoimintoja, ja poistettava kirjaston alustus, kun se sammutetaan. Nämä virhesanomat ilmenevät, jos COM-kirjaston alustusyritys tai alustuksen peruutusyritys ei onnistu.
  • Moduulin ""%1"" lataaminen epäonnistui.\n\nVarmista, että binaaritiedosto on tallennettu määritettyyn polkuun tai tee sen vianmääritys binaaritiedoston tai siihen liittyvien DLL-tiedostojen ongelmien selvittämiseksi.\n\n%2.
  • Virhe ladattaessa moduulia, joka on määritetty komentorivillä. Virhesanoman teksti näytetään osana viestiä.
  • Moduuli ""%1"" ladattiin, mutta alkukohta a%2 ei löydetty.\n\nVarmista, että ""%1"" on kelvollinen DLL- tai OCX-tiedosto ja yritä uudelleen
  • Regsvr32.exe ei löytänyt tarvittavaa alkukohtaa moduulissa, joka on määritetty komentorivillä. Näin voi käydä, jos alkupistettä ei ole viety oikein moduulista tai jos moduuli ei ole .DLL- tai .OCX-tiedosto.
  • Moduuli ""%1"" ladattiin, mutta kutsu kohteeseen %2 epäonnistui ja palautti virhekoodin %3.\n\nLisätietoja tästä ongelmasta saat verkosta käyttämällä virhekoodia hakuterminä.
  • Järjestelmässä tapahtui virhe, kun regsvr32.exe kutsui alkukohtaa moduulissa, joka on määritetty komentorivillä. Virhekoodi teksti näytetään osana viestiä.
  • Moduuli ""%1"" ei ole yhteensopiva käytössä olevan Windows-version kanssa. Tarkista, onko moduuli yhteensopiva regsvr32.exe-ohjelman x86- (32-bittinen) tai x64-version (64-bittinen) kanssa.
  • Tämä virhe voi ilmetä esimerkiksi silloin, jos regsvr32.exe suoritetaan x86-tietokoneessa ja komentorivillä määritetty moduuli on 64-bittinen moduuli.

Regsvr32.exe-virhesanoma Windows-versioissa, jotka ovat vanhempia kuin Windows Vista

Seuraavassa luettelossa on RegSvr32-virhesanomat ja niiden mahdolliset syyt:

Click here to show/hide solution
 
  • Tunnistamaton valitsin: /invalid_flag
  • Kirjoitit virheellisen valitsimien yhdistelmän (lisätietoja on tämän artikkelin kohdassa "Regsvr32.exe-ohjelman käyttö").
  • DLL-tiedoston nimeä ei ole määritetty.
  • Et kirjoittanut .dll-tiedoston nimeä (katso lisätietoja tämän artikkelin kohdasta "Regsvr32.exe-ohjelman käyttö").
  • Dll-nimi ladattiin, mutta DllRegisterServer- tai DllUnregisterServer-aloituskohtaa ei löydetty.
  • Määritetty Dll-tiedoston nimi ei ole .dll- tai .ocx-tiedosto. Esimerkiksi komennon regsvr32 wjview.exe kirjoittaminen luo tämän virhesanoman.
  • Dll-nimi ei ole suoritettavissa oleva tiedosto, ja tiedostotyyppiä varten ei ole rekisteröity rekisteröinnin aputoimintoa.
  • Määritetty Dll-tiedoston nimi ei ole suoritettavissa oleva tiedosto (.exe, .dll tai .ocx). Esimerkiksi komennon regsvr32 autoexec.bat kirjoittaminen luo tämän virhesanoman.
  • Dll-nimi ladattiin, mutta DllRegisterServer- tai DllUnregisterServer-aloituskohtaa ei löydetty.
  • Määritettyä Dll-tiedoston nimeä ei voi viedä tai määritetystä Dll-tiedoston nimestä voi olla muistissa vaurioitunut versio. Harkitse Pview-ohjelman käyttämistä tiedoston tunnistamiseen ja poistamiseen.
  • Dll-nimi ei ole itse rekisteröity tai muistissa on vaurioitunut versio.
  • Esimerkiksi komennon regsvr32 icwdial.dll kirjoittaminen palauttaa tämän virhesanoman, koska Icwdial.dll-tiedosto ei ole itserekisteröitävä. Jos epäilet, että Dll-nimi-tiedostosta on muistissa vaurioitunut versio, yritä käynnistää tietokone uudelleen tai pura uudelleen tiedoston alkuperäinen versio. Jos käytössä on Windows NT, sinun on ehkä käytettävä Microsoft Windows NT Server 4.0 Resource Kitin Kill- tai Pview-työkalua. Lisätietoja on Microsoft Knowledge Base -tietokannan artikkelissa 197155: Vioittuneen prosessin lopettaminen (Tämä artikkeli saattaa olla englanninkielinen)
  • OleInitialize epäonnistui (tai OleUninitialize epäonnistui)
  • Regsvr32-ohjelman on alustettava COM-kirjasto, ennen kuin se voi kutsua COM-kirjastotoimintoja, ja poistettava kirjaston alustus, kun se sammutetaan. Nämä virhesanomat ilmenevät, jos COM-kirjaston alustusyritys tai alustuksen peruutusyritys ei onnistu. Esimerkiksi Ole32.dll-tiedosto voi olla vioittunut tai sen versio voi olla väärä.
  • LoadLibrary("Dll-nimi") epäonnistui. GetlastError-toiminto palauttaa virheen 0x00000485
  • Toiminnolta Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Tämä tarkoittaa, että "Jotakin sovelluksen suorittamiseen tarvittavaa kirjastotiedostoa ei löydetty." Esimerkiksi komennon regsvr32 missing.dll kirjoittaminen palauttaa tämän virhesanoman, jos Missing.dll tiedostoa ei löydy.
  • LoadLibrary("Dll-nimi") epäonnistui. GetLastError palauttaa virheen 0x00000002
  • Toiminnolta Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Tämä tarkoittaa, että "Järjestelmä ei löydä määritettyä tiedostoa." Toiminnosta riippuvaa DLL-tiedostoa ei löydy. Esimerkiksi komennon  regsvr32 icwdial.dll kirjoittaminen, jos tiedosto Tapi32.dll (riippuvuus) puuttuu, palauttaa tämän virhesanoman.
  • LoadLibrary("dskmaint.dll") epäonnistui. GetLastError palauttaa virheen 0x000001f
  • Toiminnolta Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Tämä tarkoittaa, että "Järjestelmään liitetty laite ei toimi." Tämä ongelma voi ilmetä, jos yrität rekisteröidä Win16-järjestelmän .dll-tiedoston. Esimerkiksi komennon regsvr32 dskmaint.dll kirjoittaminen palauttaa tämän virhesanoman.
  • DllRegisterServer (tai DllUnregisterServer) tiedostossa Dll-nimi epäonnistui. Palautettu koodi oli: merkkijono
  • Hae Winerror.h-tiedostosta merkkijonoa, joka on määritetty viestissä.