Hoe om 'n DLL in Windows te registreer

Gebruikers vra hoe om die dll-lêer te registreer in Windows 7 en 8. Gewoonlik, nadat foute soos "Die program nie begin kan word nie, omdat die nodige dll nie op die rekenaar is nie." Oor hierdie en praat.

Om 'n biblioteek in 'n stelsel te registreer, is nie so 'n moeilike taak nie (ek sal soveel as drie variasies van een metode wys). Eintlik is net een stap nodig. Die enigste vereiste is dat u Windows administrateur regte het.

Daar is egter 'n paar nuanses. Byvoorbeeld, selfs suksesvolle registrasie van die DLL red jou nie noodwendig uit 'n biblioteek ontbrekende fout op die rekenaar nie en die verskyning van 'n RegSvr32-fout met die boodskap dat die module nie verenigbaar is met die Windows-weergawe op hierdie rekenaar of die DLLRegisterServer-toegangspunt, is nie gevind nie. Dit beteken nie dat jy iets verkeerd doen nie (ek sal dit aan die einde van die artikel verduidelik).

Drie maniere om 'n DLL in die bedryfstelsel te registreer

As ek die volgende stappe beskryf, neem ek aan dat jy gevind het waar jy jou biblioteek moet kopieer en die DLL is reeds in die gids System32 of SysWOW64 (en dalk iewers anders as dit daar sou wees).

Let wel: hieronder sal beskryf hoe om die DLL-biblioteek te registreer deur regsvr32.exe te gebruik, maar ek vestig u aandag op die feit dat as u 'n 64-bis stelsel het, het u twee regsvr32.exe - een in die gids C: Windows SysWOW64 die tweede is C: Windows System32. En dit is verskillende lêers, met 64-bis in die System32-lêergids. Ek beveel aan om die volledige pad te gebruik op regsvr32.exe op elk van die maniere, en nie net die lêernaam nie, soos ek in die voorbeelde getoon het.

Die eerste metode word meer dikwels as op die Internet beskryf en bestaan ​​uit die volgende:

  • Druk die Windows + R sleutels of kies die opsie Run in die Windows 7 Start-menu (as u natuurlik die vertoning het aangeskakel).
  • betree regsvr32.exe path_to_file_dll
  • Klik OK of Enter.

Daarna, as alles goed gegaan het, moet jy 'n boodskap sien dat die biblioteek suksesvol geregistreer is. Maar met 'n hoë waarskynlikheid sal jy 'n ander boodskap sien - die Module is gelaai, maar die toegangspunt DllRegisterServer is nie gevind nie en dit is die moeite werd om te kontroleer dat jou DLL die korrekte lêer is (ek sal later hieroor skryf).

Die tweede manier is om die opdraglyn as administrateur uit te voer en voer dieselfde opdrag van die vorige item in.

  • Begin die opdrag prompt as administrateur. In Windows 8 kan u die Win + X-sleutels druk en dan die gewenste menu-item kies. In Windows 7 kan u die opdrag lyn vind in die menu Start, regs kliek daarop en kies 'Bestuur as administrateur'.
  • Voer die opdrag in regsvr32.exe pad_to_library_dll (jy kan 'n voorbeeld in die kiekie sien).

Weereens, dit is waarskynlik dat u nie die DLL in die stelsel kan registreer nie.

En die laaste metode, wat ook in sommige gevalle nuttig kan wees:

  • Regskliek op die DLL wat u wil registreer en kies die kieslysitem "Open met."
  • Kliek op 'Browse' en vind die lêer regsvr32.exe in die gids Windows / System32 of Windows / SysWow64, maak die DLL oop met behulp van die lêer.

Die kern van al die maniere om 'n DLL in die stelsel te registreer, is dieselfde, net 'n paar verskillende maniere om dieselfde opdrag uit te voer. Dit is geriefliker vir iemand. En nou oor waarom jy niks kan doen nie.

Hoekom kan nie DLL registreer nie

U het dus geen DLL-lêer nie, aangesien u 'n fout sien wanneer u die speletjie of program begin. U het hierdie lêer vanaf die internet afgelaai en probeer registreer, maar óf die DllRegisterServer-inskrywing of die module is nie verenigbaar met die huidige weergawe van Windows nie. miskien iets anders, dit is, DLL registrasie is onmoontlik.

Waarom gebeur dit (hierna en hoe om dit reg te stel):

  • Nie alle DLL-lêers is ontwerp om geregistreer te word nie. Om dit so te kan registreer, moet dit die DllRegisterServer-funksie self ondersteun. Soms word 'n fout ook veroorsaak deurdat die biblioteek reeds geregistreer is.
  • Sommige webwerwe wat aanbied om 'n DLL te laai, bevat eintlik dummy lêers met die naam wat jy soek en kan nie geregistreer word nie, want in werklikheid is dit nie 'n biblioteek nie.

En nou hoe om dit reg te stel:

  • As jy 'n programmeerder is en registreer jou DLL, probeer regasm.exe
  • As jy 'n gebruiker is en nie iets begin met 'n boodskap dat die DLL nie op die rekenaar is nie, soek die internet vir watter soort lêer dit is en nie waar om dit te laai nie. As jy dit weet, kan jy gewoonlik die amptelike installeerder aflaai wat die oorspronklike biblioteke installeer en dit in die stelsel installeer. Byvoorbeeld, vir alle lêers met 'n naam wat begin met d3d, sit DirectX van die amptelike Microsoft-webwerf, vir msvc, een van die weergawes van Visual Studio Redistributable. (En as 'n speletjie nie van 'n spoed begin nie, kyk dan na die verslae van die antivirus, dit kan die nodige DLL verwyder, dit gebeur dikwels met sommige gewysigde biblioteke).
  • Gewoonlik, in plaas van die DLL te registreer, word die ligging van die lêer in dieselfde gids as die uitvoerbare exe-lêer wat hierdie biblioteek benodig, geaktiveer.

Op hierdie punt hoop ek dat iets duideliker geword het as wat dit was.