Wéi kann ech eng DLL an Windows registréieren

D'Benotzer froen iwwer d'Reguléierung vun der DLL-Datei op Windows 7 an 8. Normalerweis, wann Dir op Fehlern wéi "De Programm kann net gestart ginn, well déi néideg DLL ass net op de Computer." Iwwert dat a schwätzt.

Tatsächlech de Registrierung vun enger Bibliothéik an engem System ass net esou e schlechte Wierk (ech wäert esou vill wéi dräi Variatiounen vun enger Method sinn) - Tatsächlech ass just ee Schrëtt noutwendeg. Déi eenzeg Ufuerderung ass datt Dir Windows Administrator Rechter hutt.

Et gëtt awer e puer Nuancen - zum Beispill, souguer erfollegräich Registratioun vun der DLL erlaabt Iech net vun enger Bibliothéik déi fehlend Fehler op de Computer gespaart gëtt an d'Erscheinung vun enger RegSvr32 Feeler mat der Noriicht datt d'Modul net mat der Windows Versioun op dësem Computer kompatibel ass oder d'Entree Point DLLRegisterServer net fonnt gouf. Et heescht net datt Dir eppes Falsches mécht (ech erkläre dëse Schluss am Artikel).

Dräi Weeër fir eng DLL am OS z'ënnerschreiwen

Wann Dir déi nächst Schrëtt hei beschreift, ech huelen un datt Dir fonnt hutt wou Dir Är Bibliothéik kopéiert an d'DLL ass scho am Ordner System32 oder SysWOW64 (a vläicht soss iergendwou wann et da sinn).

Remark: et gëtt ënnerbreet wéi d'DLL-Bibliothéik mat Regsvr32.exe registréiert ass, awer ech huelen op d'Tatsaach datt wann Dir e 64-Bit System hutt, da sidd Dir zwou regsvr32.exe - een am C: Windows SysWOW64 Déi zweet ass C: Windows System32. An dëst sinn verschidde Fichieren, mat 64-Bit am Ordinater System32. Ech recommandéiere mat der voller Wee zu Regsvr32.exe op all Weeër, an net nëmmen de Dateinumm, wéi ech an de Beispiller weisen.

Déi éischt Methode beschreift am Internet méi oft wéi anerer a steet aus der folgender Lëscht:

  • Dréckt d 'Windows + R-Tastelen oder wielt d'Option Run aus dem Windows 7 Startmenü (wann Dir natierlech säi Display aktivéiert huet).
  • Eran regsvr32.exe path_to_file_dll
  • Klickt op OK oder dréckt op.

Duerno, wann alles gutt geet, musst Dir eng Message gesinn, déi d'Bibliothéik mat Erfolleg erfonnt huet. Mee, mat enger grousser Wahrscheinlechkeet kënnt Dir eng aner Message gesinn - de Modul gëtt gelueden, awer den Entréepunkt DllRegisterServer gouf net fonnt an et ass ze kontrolléieren datt Är DLL d'korrekt Datei ass (ech schreiwen dat spéider).

Déi zweet Manéier ass d'Kommandozeilegung als Administrator a lafen de selwechte Kommando aus dem fréieren Exemplar.

  • Fuerder de Command als Administrator probéiert. An Windows 8 kënnt Dir d'Win + X Keys drénken an da wielt déi gewënscht Menüskaart. An Windows 7 kënnt Dir d'Kommandozeechen am Startmenü fannen, klickt op e klickt op a wielt "Als administrator ausféieren".
  • Gitt d'Befehl regsvr32.exe path_to_library_dll (Dir kënnt e Beispill hei am Bild screenshot).

Elo ass et méiglech datt Dir d'DLL net am System registréiert.

An déi lescht Method, déi och e puer nëtzlech ka sinn:

  • Gitt klickt op d 'DLL déi Dir wëllt registrieren an wielt den Menüpunkt "Mat op."
  • Klickt "Aart" a fannt d'Regsvr32.exe Datei am Ordner Windows / System32 oder Windows / SysWow64, opmaachen d'DLL mat.

D'Essenz vun all de beschriwwe Weeër fir eng DLL am System anzeschreiwen ass de selwechten, just e puer verschidden Weeër fir déi selwecht Kommando ze lafen - wat méi bequem ass fir een. An elo wësse firwat Dir näischt ka maachen.

Firwat kann DLL net registreiert ginn

Also, Dir hutt keng DLL-Datei, well Dir e Fichier beim Start vun dem Spill oder Programm gesinn hutt, hutt Dir dës Datei vum Internet erofgelueden an probéiert ze registréieren, awer entweder den DllRegisterServer-Punkt oder de Modul ass net mat der aktueller Windows-Version kompatibel. Eppes aneres, dat heescht, DLL-Registrierung ass net méiglech.

Firwat dat passéiert (spéider a wéi se et ze fixéieren):

  • Net all DLL Dateien sinn entworf ginn ze registréieren. Fir dat ze registréieren op dës Manéier, muss et Support fir d'DllRegisterServer Funktion selwer hunn. Heiansdo gëtt e Feeler och vun der Tatsaach verwierklecht datt d'Bibliothéik registréiert ass.
  • E puer Site déi Dir en DLL eroflueden, faktesch Dummy-Dateien mat dem Numm Dir sicht an Dir kënnt net registréiert ginn, well et ass wierklech eng Bibliothéik.

A wat elo ze fixéieren:

  • Wann Dir e Programmierer sidd a registréiert Är DLL, probéiert regasm.exe
  • Wann Dir e Benotzer sidd an Dir hutt net eppes mat enger Meldung ze starten, déi feststellt datt d'DLL net op dem Computer ass, fann den Internet fir wat fir eng Datei et ass a net wou se se erofzelueden. Wann Dir dëst kennt, kënnt Dir normalerweis den offiziellen Installer installéieren, deen d'Originalbibliothéiken installéiert an enregistréiert se an de System - zum Beispill, fir all Dateie mat engem Numm mat D3d unzefänken, nëmmen DirectX vun der offizieller Microsoft Websäit, fir msvc, ee vun de Versioune vun Visual Studio Redistributable. (A wann e Spill net vu engem Torrent unzefänken, kuckt an de Rapport vum AntiVirus, et kann d'noutwendeg DLL erofhuelen, et ass geschitt mat verschiddenen modifizéierten Bibliothéiken).
  • Normalerweis, anstatt eng DLL z'ënnerschreiwen, ass de Standort vun der Datei am selwechte Fichier wéi déi ausführbar Exe-Datei déi dës Bibliothéik erfuerdert ausgeléist gëtt.

Duerfir hunn ech Hoffnung datt et méi kloer ass wéi et war.