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.