Watumiaji wanauliza jinsi ya kusajili faili ya dll katika Windows 7 na 8. Kawaida, baada ya kukutana na makosa kama "Uzinduzi wa mpango hauwezekani kwa sababu dll inayofaa haipatikani kwenye kompyuta." Tutazungumza juu ya hii.
Kwa kweli, kusajili maktaba katika mfumo sio kazi ngumu kama hiyo (nitaonyesha tofauti nyingi tatu za njia moja) - kwa kweli, hatua moja tu inahitajika. Sharti la pekee ni kwamba una haki za msimamizi wa Windows.
Walakini, kuna nuances kadhaa - kwa mfano, usajili uliofanikiwa wa DLL haitaji kuokoa kutoka kwa "maktaba haiko kwenye kompyuta", na kosa la RegSvr32 linaonekana na ujumbe kwamba moduli haiendani na toleo la Windows kwenye kompyuta hii au mahali pa kuingia DLLRegisterServer hakupatikana, Haimaanishi kwamba unafanya kitu kibaya (nitaelezea hii itaelezea mwisho wa kifungu).
Njia tatu za kujiandikisha DLL kwenye OS
Kuelezea hatua zinazofuata, nadhani umepata mahali unataka kunakili maktaba yako na DLL iko tayari kwenye folda ya System32 au SysWOW64 (na labda mahali pengine popote ikiwa inapaswa kuwa hapo).
Kumbuka: hapa chini tutaelezea jinsi ya kusajili DLL na regsvr32.exe, lakini mimi huelekeza mawazo yako kwa ukweli kwamba ikiwa una mfumo wa-64, basi una regsvr32.exe moja katika folda C: Windows SysWOW64 ya pili ni C: Windows System32. Na hizi ni faili tofauti, zilizo na 64-bit ziko kwenye folda ya System32. Ninapendekeza kutumia njia kamili kwa regsvr32.exe katika kila njia, na sio jina la faili tu, kama nilivyoonyesha kwenye mifano.
Njia ya kwanza imeelezewa kwenye mtandao mara nyingi zaidi kuliko zingine na inajumuisha yafuatayo:
- Bonyeza funguo za Windows + R au uchague "Run" kutoka kwa menyu ya Windows 7 Start (isipokuwa, bila shaka, onyesho lake limewashwa).
- Ingiza regsvr32.njia ya zamani_to_file_dll
- Bonyeza Sawa au Ingiza.
Baada ya hapo, ikiwa kila kitu kimeenda vizuri, unapaswa kuona ujumbe unaosema kwamba maktaba imesajiliwa kwa mafanikio. Lakini, kwa uwezekano mkubwa utaona ujumbe mwingine - moduli imepakiwa, lakini hatua ya kuingia ya DllRegisterServer haikupatikana na inafaa kuangalia kuwa DLL yako faili sahihi (kama nilivyosema, nitaandika juu ya hii baadaye).
Njia ya pili ni kuendesha mstari wa amri kama msimamizi na ingiza amri ile ile kutoka kwa aya iliyopita.
- Run safu ya amri kama Msimamizi. Katika Windows 8, unaweza bonyeza Win + X, kisha uchague kipengee cha menyu unachotaka. Katika Windows 7, unaweza kupata mstari wa amri kwenye menyu ya Mwanzo, bonyeza mara moja juu yake na uchague "Run kama msimamizi".
- Ingiza amri regsvr32.njia_ya_ya_dll (mfano unaweza kuona kwenye skrini).
Tena, inawezekana kwamba hautaweza kusajili DLL kwenye mfumo.
Na njia ya mwisho, ambayo inaweza kuwa na maana katika hali zingine:
- Bonyeza kulia kwenye DLL ambayo unataka kujiandikisha na uchague kipengee cha menyu "Fungua na."
- Bonyeza "Vinjari" na upate faili ya regsvr32.exe kwenye folda ya Windows / System32 au Windows / SysWow64, fungua DLL nayo.
Kiini cha njia zote zilizoelezwa za kusajili DLL kwenye mfumo ni sawa, njia chache tofauti za kutekeleza amri hiyo hiyo - kwa ambaye ni rahisi zaidi. Na sasa juu ya kwanini haifaulu.
Kwa nini hauwezi kujiandikisha DLL
Kwa hivyo, hauna faili ya DLL ya aina yoyote, ambayo ni kwa nini unapoanza mchezo au mpango unaona hitilafu, ulipakua faili hii kutoka kwenye mtandao na ujaribu kujiandikisha, lakini labda hatua ya kuingia DllRegisterServer au moduli haiendani na toleo la sasa la Windows, na labda kitu kingine, ambayo ni, kusajili DLL haiwezekani.
Kwa nini hii inafanyika (hapo baadaye itakuwa juu ya jinsi ya kurekebisha):
- Sio faili zote za DLL zilizoundwa kusajiliwa. Ili iweze kusajiliwa kwa njia hii, lazima iwe na msaada kwa kazi ile ile ya DllRegisterServer. Wakati mwingine kosa pia husababishwa na ukweli kwamba maktaba imesajiliwa tayari.
- Tovuti zingine ambazo zinapeana kupakua DLL zina, kwa kweli, faili za dummy zilizo na jina unayotafuta na haliwezi kusajiliwa, kwani kwa kweli hii sio maktaba.
Na sasa juu ya jinsi ya kuirekebisha:
- Ikiwa wewe ni programu na unasajili DLL yako, jaribu regasm.exe
- Ikiwa wewe ni mtumiaji na kitu ambacho hakianza na ujumbe kwamba DLL haipo kwenye kompyuta yako, angalia kwenye mtandao kwa faili gani na sio mahali pa kuipakua. Kawaida, ukijua hii, unaweza kupakua kisakinishi rasmi, ambacho kitasakiza maktaba za awali na kuziandikisha katika mfumo - kwa mfano, kwa faili zote zilizo na jina kuanza na d3d, ingiza DirectX tu kutoka kwa tovuti rasmi ya Microsoft, kwa msvc - moja ya matoleo ya Visual Studio Redistributable. (Na ikiwa mchezo hautaanza kutoka kwenye mto, basi angalia ripoti za antivirus, inaweza kufuta DLL muhimu, hii mara nyingi hufanyika na maktaba kadhaa zilizobadilishwa).
- Kawaida, badala ya kusajili DLL, uwekaji wa faili kwenye folda ile ile na faili inayoweza kutekelezwa inayohitaji maktaba hii inasababishwa.
Ninahitimisha hii, natumahi kitu kimekuwa wazi zaidi kuliko ilivyokuwa.