Unsaon sa pagrehistro sa usa ka DLL sa Windows

Ang mga tigpangutana mangutana kon unsaon pagparehistro sa file sa dll sa Windows 7 ug 8. Kasagaran, human makakita og mga kasaypanan sama sa "Ang programa dili masugdan, tungod kay ang gikinahanglan nga dll wala sa computer." Mahitungod niini ug maghisgot.

Sa pagkatinuod, ang pagrehistro sa usa ka librarya sa usa ka sistema dili usa ka lisud nga buluhaton (ipakita nako ang tulo ka lainlaing mga pamaagi) - sa pagkatinuod, usa lamang ka lakang ang gikinahanglan. Ang bugtong kinahanglanon mao nga ikaw adunay mga katungod sa Windows administrator.

Apan, adunay pipila ka mga nuances - pananglitan, bisan ang malampuson nga pagrehistro sa DLL dili kinahanglan nga makaluwas kanimo gikan sa usa ka library nga kulang sa sayup sa computer, ug ang dagway sa usa ka RegSvr32 nga sayup uban ang mensahe nga ang module dili haum sa bersyon sa Windows niini nga computer o ang DLLRegisterServer entry point wala makita. Wala kini magpasabut nga naghimo ka'g sayop (ipasabut ko kini sa katapusan sa artikulo).

Tulo ka mga paagi sa pagparehistro sa usa ka DLL sa OS

Sa paghulagway sa mga sunod nga mga lakang, akong hunahunaon nga imong nakit-an kung asa nimo gikinahanglan ang pagkopya sa imong librarya ug ang DLL anaa na sa System32 o SysWOW64 folder (ug tingali sa laing dapit, kung kini kinahanglan nga anaa).

Hinumdumi: sa ubos maghulagway kon unsaon pag-rehistro sa DLL library gamit ang regsvr32.exe, bisan pa niana, gikuha ko ang imong pagtagad sa kamatuoran nga kon ikaw adunay 64-bit nga sistema, nan ikaw adunay duha ka regsvr32.exe - usa sa folder C: Windows SysWOW64 ang ikaduha mao ang C: Windows System32. Ug kini lainlaing mga file, nga adunay 64 ka bit nga nahimutang sa folder sa System32. Ginapanugyan ko nga gamiton ang bug-os nga dalan sa regsvr32.exe sa tagsa nga mga paagi, kag indi lamang ang ngalan sang file, subong sang ginpakita ko sa mga halimbawa.

Ang unang pamaagi gihulagway sa Internet mas kanunay kaysa sa uban ug naglangkob sa mosunod:

  • Ipadayon ang Windows + R keys o pilia ang opsyon sa Run sa Windows 7 Start menu (kung, siyempre, nakahimo ka sa display niini).
  • Pagsulod regsvr32.exe path_to_file_dll
  • I-klik ang OK o Enter.

Human niana, kung maayo ang tanan, kinahanglan nimong makita ang usa ka mensahe nga malampuson nga narehistro ang librarya. Apan, uban sa taas nga kalagmitan makakita ka og laing mensahe - ang Module puno, apan ang entry point nga DllRegisterServer wala makita ug kini angay nga susihon nga ang imong DLL mao ang hustong file (isulat ko kini sa ulahi).

Ang ikaduha nga paagi mao ang pagdumala sa command line isip usa ka administrator ug pagsulod sa sama nga sugo gikan sa naunang butang.

  • Pagdalagan ang command prompt nga Administrator. Sa Windows 8, mahimo nimo nga pug-on ang Win + X keys ug dayon pilia ang gusto nga menu item. Sa Windows 7, imong makita ang command line sa Start menu, i-klik dayon kini ug pilia ang "Run as administrator".
  • Pagsulod sa sugo regsvr32.exe path_to_library_dll (mahimo nimong makita ang usa ka pananglitan sa screenshot).

Usab, kini lagmit nga ikaw dili makarehistro sa DLL sa sistema.

Ug ang katapusan nga pamaagi, nga mahimo usab nga magamit sa pipila ka mga kaso:

  • Pag-right-click sa DLL nga gusto nimo nga magparehistro ug pilia ang menu item nga "Open with."
  • I-klik ang "Browse" ug pangitaa ang file regsvr32.exe sa Windows / System32 o Windows / SysWow64 folder, ablihi ang DLL gamit niini.

Ang diwa sa tanan nga gihulagway nga mga paagi sa pagparehistro sa usa ka DLL sa sistema mao ra, pipila lang ka lainlaing mga pamaagi sa pagpadagan sa sama nga sugo - nga mas sayon ​​kini. Ug karon kung nganong wala ka'y ​​mahimo.

Nganong dili magparehistro sa DLL

Busa, wala ka'y ​​bisan unsang DLL file, tungod sa imong nakita nga sayop sa pagsugod sa dula o programa, imong gi-download ang file gikan sa Internet ug gisulayan nga magparehistro, apan bisan ang DllRegisterServer entry point o ang module dili sama sa bersyon sa Windows, ug tingali laing butang, nga mao, imposible ang pagrehistro sa DLL.

Nganong kini mahitabo (human dinhi, ug giunsa kini pag-ayo):

  • Dili tanan nga mga file sa DLL nga gidesinyo aron makarehistro. Aron nga kini magparehistro sa niini nga paagi, kini kinahanglan nga adunay suporta alang sa DllRegisterServer function mismo. Usahay ang usa ka kasayuran usab tungod sa kamatuoran nga ang narehistro na ang librarya.
  • Ang pipila ka mga site nga nagtanyag sa pag-download sa usa ka DLL, sa pagkatinuod, adunay dummy nga mga file nga ang ngalan nga imong gipangita ug dili makarehistro, tungod kay sa pagkatinuod kini dili usa ka librarya.

Ug karon unsaon kini pag-ayo:

  • Kon ikaw usa ka programmer ug magparehistro sa imong DLL, sulayi ang regasm.exe
  • Kung ikaw usa ka tiggamit ug wala ka magsugod sa usa ka mensahe nga nagsulti nga ang DLL wala sa computer, pangitaa ang Internet kung unsang klase nga file kini ug dili asa i-download kini. Sa pagkasayod niini, mahimo nimo nga i-download ang opisyal nga installer nga nag-instalar sa orihinal nga mga librarya ug nag-registro niini sa sistema - pananglitan, alang sa tanang mga file nga may ngalan nga nagsugod sa d3d, ibutang lamang ang DirectX gikan sa opisyal nga website sa Microsoft, alang sa msvc, usa sa mga bersyon sa Visual Studio Redistributable. (Ug kon ang usa ka dula dili magsugod gikan sa usa ka sapa, nan tan-awon ang mga taho sa antivirus, kini makatangtang sa gikinahanglan nga DLL, kini kasagaran mahitabo sa pipila ka mga nausab nga mga librarya).
  • Kasagaran, sa baylo nga magparehistro sa DLL, ang nahimutangan sa file sa sama nga folder ingon nga ang executable exe file nga nagkinahanglan niini nga librarya ang na-trigger.

Niini nga katuyoan, nanghinaut ko nga adunay usa ka butang nga mas tin-aw kaysa kini.