Si të regjistrohet një DLL në Windows

Përdoruesit pyesin për mënyrën e regjistrimit të skedarit dll në Windows 7 dhe 8. Zakonisht, pasi hasen gabime si "Programi nuk mund të niset, sepse dll i nevojshëm nuk është në kompjuter". Për këtë dhe për të folur.

Në fakt, regjistrimi i një biblioteke në një sistem nuk është një detyrë kaq e vështirë (unë do të tregoj tre variacione të një metode) - në të vërtetë, vetëm një hap është i nevojshëm. Kërkesa e vetme është që ju të keni të drejtat e administratorit të Windows.

Megjithatë, ekzistojnë disa nuanca - për shembull, edhe regjistrimi i suksesshëm i DLL-së nuk ju shpëton nga gabimi që mungon në kompjuter në kompjuter dhe shfaqja e një gabimi RegSvr32 me mesazhin se moduli nuk është i përputhshëm me versionin e Windows në këtë kompjuter ose pikë hyrëse DLLRegisterServer nuk u gjet. Kjo nuk do të thotë se po bën diçka të gabuar (do ta shpjegoj këtë në fund të artikullit).

Tre mënyra për të regjistruar një DLL në OS

Duke përshkruar hapat e ardhshëm, supozoj se keni gjetur se ku keni nevojë të kopjoni bibliotekën tuaj dhe DLL tashmë është në dosjen System32 ose SysWOW64 (dhe ndoshta diku tjetër, nëse duhet të jetë atje).

Shënim: Më poshtë do të përshkruaj se si të regjistroheni në bibliotekën DLL duke përdorur regsvr32.exe, megjithatë tërheq vëmendjen tuaj në faktin se nëse keni një sistem 64-bit, atëherë ju keni dy regsvr32.exe - një në dosjen C: Windows SysWOW64 e dyta është C: Windows System32. Dhe këto janë skedarë të ndryshëm, me 64-bit që gjenden në dosjen System32. Unë rekomandoj duke përdorur rrugën e plotë të regsvr32.exe në secilën nga mënyrat, dhe jo vetëm emrin e skedarit, siç e kam treguar në shembujt.

Metoda e parë është përshkruar në internet më shpesh se të tjerat dhe përbëhet nga:

  • Shtypni tastet Windows + R ose zgjidhni opsionin Run në menunë e Windows 7 Start (nëse, sigurisht, keni aktivizuar shfaqjen e saj).
  • hyj regsvr32.exe path_to_file_dll
  • Kliko OK ose Enter.

Pas kësaj, nëse gjithçka shkoi mirë, ju duhet të shihni një mesazh që biblioteka është regjistruar me sukses. Por, me një probabilitet të lartë do të shihni një mesazh tjetër - Moduli është i ngarkuar, por pika hyrëse DllRegisterServer nuk u gjet dhe është me vlerë të kontrollohet se DLL-ja juaj është skedari i saktë (do të shkruaj për këtë më vonë).

Mënyra e dytë është që të ekzekutoni vijën e komandës si administrator dhe të hyni në të njëjtin komandë nga pika e mëparshme.

  • Run command prompt si Administrator. Në Windows 8, ju mund të shtypni tastet Win + X dhe pastaj zgjidhni artikullin e dëshiruar të menysë. Në Windows 7, ju mund të gjeni linjën e komandës në menynë Start, klikoni me të djathtën mbi të dhe zgjidhni "Run as administrator".
  • Shkruani komandën regsvr32.exe path_to_library_dll (ju mund të shihni një shembull në screenshot).

Përsëri, ka gjasa që ju nuk do të jeni në gjendje të regjistrojnë DLL në sistem.

Dhe metoda e fundit, e cila gjithashtu mund të jetë e dobishme në disa raste:

  • Djathtas-klikoni në DLL që doni të regjistroheni dhe zgjidhni artikullin e menusë "Hapni me".
  • Kliko "Browse" dhe gjeni skedarin regsvr32.exe në dosjen Windows / System32 ose Windows / SysWow64, hapni DLL-në duke e përdorur atë.

Thelbi i të gjitha mënyrave të përshkruara për të regjistruar një DLL në sistem është i njëjtë, vetëm disa mënyra të ndryshme për të drejtuar të njëjtin komandë - e cila është më e përshtatshme për dikë. Dhe tani përse nuk mund të bësh asgjë.

Pse nuk mund të regjistrohet DLL

Pra, nuk keni ndonjë skedar DLL, për shkak të asaj që shihni një gabim gjatë fillimit të lojës ose programit, e shkarkuat këtë skedar nga Interneti dhe përpiquni të regjistroheni, por ose pika hyrëse DllRegisterServer ose moduli nuk janë në përputhje me versionin aktual të Windows dhe ndoshta diçka tjetër, që është, regjistrimi DLL është e pamundur.

Pse ndodh kjo (në tekstin e mëtejmë, dhe si ta rregulloni):

  • Jo të gjitha skedarët DLL janë projektuar për t'u regjistruar. Në mënyrë që ajo të jetë e regjistruar në këtë mënyrë, ajo duhet të ketë mbështetje për funksionin DllRegisterServer vetë. Ndonjëherë një gabim është shkaktuar edhe nga fakti që biblioteka është regjistruar.
  • Disa vende që ofrojnë për të shkarkuar një DLL, në të vërtetë, përmbajnë skedarë dummy me emrin që kërkoni dhe nuk mund të regjistroheni, sepse në realitet kjo nuk është një bibliotekë.

Dhe tani si ta rregullojmë atë:

  • Nëse jeni një programues dhe regjistrojeni DLL tuaj, provoni regasm.exe
  • Nëse jeni përdorues dhe nuk filloni diçka me një mesazh që tregon se DLL nuk është në kompjuter, kërkoni në Internet se çfarë skedari është dhe jo ku ta shkarkoni. Duke ditur këtë, zakonisht mund të shkarkoni instaluesin zyrtar që instalon bibliotekat origjinale dhe i regjistron ato në sistem - për shembull, për të gjitha skedarët me një emër që fillon me d3d, vetëm vendos DirectX nga faqja zyrtare e Microsoft, për msvc, një nga versionet e Visual Studio Redistributable. (Dhe në qoftë se një lojë nuk fillon nga një përrua, atëherë shikoni në raportet e antivirusit, ajo mund të heqë DLL-in e nevojshme, shpesh ndodh me disa biblioteka të modifikuara).
  • Zakonisht, në vend të regjistrimit të DLL-së, vendoset lokacioni i skedarit në dosjen e njëjtë si skedari i ekzekutueshëm exe që kërkon këtë bibliotekë.

Në këtë fund, unë shpresoj se diçka është bërë më e qartë sesa ka qenë.