Indlela yokubhalisa i-DLL ku-Windows

Abasebenzisi babuza ukuthi bangabhalisa kanjani ifayela le-Dll ku-Windows 7 no-8. Ngokuvamile, ngemva kokuhlangana namaphutha afana ne "Uhlelo alukwazi ukuqaliswa, ngoba i-dll edingekayo ayikho kukhompyutha." Mayelana nalokhu futhi ukhulume.

Eqinisweni, ukurejista umtapo wolwazi ohlelweni akuyona umsebenzi onzima kangaka (ngizobonisa ukuthi kunezinhlobo ezintathu ezihlukene zendlela eyodwa) - empeleni, isinyathelo esisodwa kuphela siyadingeka. Okudingekayo kuphela ukuthi unamalungelo okulawula i-Windows.

Kodwa-ke, kunezinhlayiya ezithile - isibonelo, ngisho nokubhaliswa okuphumelelayo kwe-DLL akulondolozi ngokusuka kulayibrari iphutha elilahlekile kukhompyutha, nokubonakala kwephutha le-RegSvr32 ngomyalezo wokuthi i-module ayihambisani ne-Windows version kule khompyutha noma i-DLLRegisterServer yokungena ayitholakalanga. Akusho ukuthi wenza okuthile okungalungile (ngizochaza lokhu ekugcineni kwalesi sihloko).

Izindlela ezintathu zokubhalisa i-DLL ku-OS

Ngichaza izinyathelo ezilandelayo, ngicabanga ukuthi uthole ukuthi udinga kuphi ukukopisha ilabhulali yakho futhi i-DLL isivele kufolda ye-System32 noma ye-SysWOW64 (futhi mhlawumbe kwenye indawo, uma kufanele ibe khona).

Qaphela: ngezansi kuzochaza ukuthi ubhalisa kanjani ilabhulali ye-DLL usebenzisa i-regsvr32.exe, noma kunjalo, ngiyakunakekisa ukuthi uma unesimiso se-64-bit, une-regsvr32.exe emibili - eyodwa kufolda C: Windows SysWOW64 okwesibili yiC: Windows System32. Futhi lawa mafayela ahlukene, anama-64-bit atholakala kufolda ye-System32. Ngincoma ukusebenzisa indlela egcwele ku-regsvr32.exe ngayinye yezindlela, hhayi nje igama lefayela, njengoba ngibonisile kulezi zibonelo.

Indlela yokuqala ichazwa kwi-intanethi ngokuphindaphindiwe kunezinye futhi iqukethe okulandelayo:

  • Cindezela izinkinobho ze-Windows + R noma khetha inketho Yokuqalisa kwimenyu ye-Windows 7 Qala (uma, ngokuqinisekile, unike amandla ukubonisa kwayo).
  • Ngena regsvr32.exe path_to_file_dll
  • Chofoza OK noma Faka.

Emva kwalokho, uma konke kuhamba kahle, kufanele ubone umlayezo wokuthi ilabhulali ibhalisiwe ngempumelelo. Kodwa, ngethuba eliphezulu uzobona omunye umlayezo - I-Module ilayishiwe, kodwa iphuzu lokungena DllRegisterServer ayitholakalanga futhi kufanelekile ukuhlola ukuthi i-DLL yakho ifayela elifanele (Ngizobhala ngalokhu kamuva).

Indlela yesibili ukugijima umugqa womyalo njengomphathi bese ufaka umyalo ofanayo kusuka kwento yangaphambilini.

  • Qalisa umyalo we-oda njengoMphathi. Ku-Windows 8, ungacindezela okhiye be-Win + X bese ukhetha into efunwayo yemenyu. Ku-Windows 7, ungathola umugqa womyalo kwimenyu Yokuqala, chofoza ngakwesokudla kuwo bese ukhetha "Run njengoba umlawuli".
  • Faka umyalo regsvr32.exe path_to_library_dll (ungabona isibonelo ku-skrini).

Futhi, kungenzeka ukuthi ngeke ukwazi ukubhalisa i-DLL ohlelweni.

Futhi indlela yokugcina, engasiza futhi kwezinye izimo:

  • Chofoza ngakwesokudla ku-DLL ofuna ukubhalisa bese ukhetha into yemenyu "Vula nge."
  • Chofoza "Dlulisa amehlo" bese uthola ifayela regsvr32.exe kufolda yeWindows / System32 noma Windows / SysWow64, vula i-DLL ukuyisebenzisa.

Okuyinhloko yazo zonke izindlela ezichazweyo zokubhalisa i-DLL ohlelweni kufana, izindlela ezimbalwa nje ezihlukene zokusebenzisa umyalo ofanayo - obani okulula kakhulu. Futhi manje mayelana nokuthi kungani ungakwazi ukwenza noma yini.

Kungani ungakwazi ukubhalisa i-DLL

Ngakho-ke, awunayo ifayela le-DLL, ngenxa yalokho okubona iphutha lapho uqala umdlalo noma uhlelo, ulanda leli fayela kusuka ku-Inthanethi futhi uzama ukubhalisa, kodwa noma i-DllRegisterServer yokungena noma i-module ayihambisani ne-version yamanje ye-Windows, futhi mhlawumbe enye into, okungukuthi, ukubhaliswa kwe-DLL akunakwenzeka.

Kungani lokhu kwenzeka (ngemuva kwalokhu, nokuthi ungayilungisa kanjani):

  • Akuwona wonke amafayela e-DLL aklanyelwe ukubhaliswa. Ukuze ibhaliswe ngale ndlela, kufanele ibe nokusekela umsebenzi we-DllRegisterServer uqobo. Ngezinye izikhathi iphutha liphinde libangelwa ukuthi umtapo wezincwadi usuvele ubhalisiwe.
  • Amanye amasayithi anikezela ukulanda i-DLL, eqinisweni, aqukethe amafayela we-dummy negama olifunayo futhi alikwazi ukubhaliswa, ngoba empeleni lokhu akuyona ilabhulali.

Futhi manje ungayilungisa kanjani:

  • Uma ungumhleli futhi ubhalise i-DLL yakho, zama i-regasm.exe
  • Uma ungumsebenzisi futhi ungaqali okuthile ngomyalezo obonisa ukuthi i-DLL ayikho kukhompyutha, funa i-Inthanethi ukuthi yiluhlobo luni lwefayela futhi akulona ukuthi lungayilanda kuphi. Ukwazi lokhu, ungavame ukulanda isifaki esisemthethweni sokufaka amareyibrari okuqala bese ubhalisa ohlelweni - isibonelo, kuwo wonke amafayela anegama eliqala nge-d3d, vele ufake i-DirectX kusuka kuwebhusayithi ye-Microsoft esemthethweni, ye-msvc, enye yezinguquko ze-Visual Studio Redistributable. (Futhi uma umdlalo ungaqali ku-torrent, bese ubheka imibiko ye-unqulo wesi arab, ingasusa i-DLL edingekayo, ngokuvamile iyenzeka ngamanye imitapo eguquliwe).
  • Ngokujwayelekile, kunokuba ubhalise i-DLL, indawo yefayela kufolda elifanayo njengefayela elisebenzayo elidinga ukuthi lelabhulali ibangele.

Ngalokhu kuphele, ngithemba ukuthi kukhona into ecacile kakhulu kunalokho.