Windows жүйесінде DLL қалай тіркелуге болады

Пайдаланушылар Windows 7 және 8-дегі файлдарды қалай тіркеуге болатыны туралы сұрайды. Әдетте, «Бағдарламаны іске қосу мүмкін емес, өйткені қажетті DLL компьютерде жоқ.» Бұл туралы және сөйлесу.

Шындығында, кітапханадағы жүйені тіркеу қиын емес (бір әдісті үш нұсқасы ретінде көрсетемін) - шын мәнінде, тек бір қадам қажет. Жалғыз талап - сіздің Windows әкімшісінің құқықтары.

Дегенмен, кейбір нюанстар бар, мысалы, тіпті DLL-ді табысты тіркегенде, сізде кітапханадағы компьютерде қате жоқтығы және модульдің осы компьютердегі Windows нұсқасымен үйлесімсіз немесе DLLRegisterServer кіру нүктесі табылмағаны туралы хабармен RegSvr32 қатесінің пайда болуы міндетті емес. Бұл сіз дұрыс емес нәрсе жасағыңыз келмейді (бұл мақаланың соңында түсіндіремін).

ОС-да DLL-ті тіркеудің үш тәсілі

Келесі қадамдарды сипаттай отырып, сіз өзіңіздің кітапханаңызды көшіріп алуыңыз керек екенін және ДНҚ-ның System32 немесе SysWOW64 қалтасында болғанын (және, мүмкін болса, басқа жерде, егер бар болса) таба аласыз деп есептеймін.

Ескерту: Төменде regsvr32.exe файлын пайдалана отырып, DLL-нің кітапханасын қалай тіркеу керектігі сипатталады, алайда сізде 64-биттік жүйеңіз болса, сізде екі regsvr32.exe бар - олардың бірі C: Windows SysWOW64 қалтасында екіншісі C: Windows System32. Бұл 64-биттік System32 қалтасында орналасқан әртүрлі файлдар. Мен мысалдарда көрсеткендей, regsvr32.exe файлының толық жолын тек қана файлдың атауымен емес, әрбір жолмен пайдалануды ұсынамын.

Бірінші әдіс Интернетте басқаларға қарағанда жиі кездеседі және төмендегілерден тұрады:

  • Windows + R пернелерін басыңыз немесе Windows 7 Бастау мәзірінде Іске қосу параметрін таңдаңыз (егер, әрине, сіз оның дисплейін қоссаңыз).
  • Кіру regsvr32.exe path_to_file_dll
  • OK немесе Enter пернесін басыңыз.

Содан кейін, егер бәрі жақсы болса, кітапхана сәтті тіркелгені туралы хабарды көресіз. Бірақ жоғары ықтималдықпен сіз басқа хабарламаны көресіз - модуль жүктелді, бірақ DllRegisterServer кіру нүктесі табылмады және сіздің DLL-ң дұрыс файл екенін тексеру керек (бұл туралы кейінірек жазамын).

Екінші тәсіл - командалық жолды әкімші ретінде іске қосу және алдыңғы элементтен сол пәрменді енгізу.

  • Пәрмен ескертуін Әкімші ретінде іске қосыңыз. Windows 8 жүйесінде Win + X пернелерін басып, қажетті мәзір элементін таңдаңыз. Windows 7 жүйесінде пәрмен жолын Бастау мәзірінде табуға болады, оған тінтуірдің оң жағын басып, «Әкімші ретінде іске қосуды» таңдаңыз.
  • Пәрменді енгізіңіз regsvr32.exe path_to_library_dll (сіз скриншотта мысалды көре аласыз).

Тағы да жүйеде DLL тіркелу мүмкін емес.

Және кейбір жағдайларда пайдалы болуы мүмкін соңғы әдіс:

  • Тіркелгіңіз келетін DLL-ті тінтуірдің оң жағымен нұқыңыз және «Ашу арқылы» мәзір элементін таңдаңыз.
  • «Шолу» дегенді нұқыңыз және Windows / System32 немесе Windows / SysWow64 қалтасында regsvr32.exe файлын табыңыз, оны пайдаланып DLL ашыңыз.

Жүйеде DLL-ті тіркеуге арналған барлық сипатталған жолдардың мәні сол бір пәрменді іске қосудың бірнеше әдісі болып табылады, бұл біреу үшін ыңғайлы. Енді сіз неге ештеңе істей алмайтыныңыз туралы.

Неге DLL тіркеу мүмкін емес

Ойын немесе бағдарламаны іске қосқан кезде қатені көргендіктен, сіз бұл файлды Интернеттен жүктеп алып, тіркеуге әрекет жасайсыз, бірақ DllRegisterServer енгізу нүктесі немесе модуль Windows жүйесінің ағымдағы нұсқасымен үйлесімді емес, сондықтан сізде DLL файлыңыз жоқ. мүмкін, тағы бір нәрсе, яғни DLL тіркеу мүмкін емес.

Неліктен бұл орын болады (бұдан әрі және оны түзету әдісі):

  • Барлық DLL файлдары тіркелу үшін жасалған. Осылайша тіркелу үшін, ол DllRegisterServer функциясының қолдауына ие болуы керек. Кейде қате кітапхана қазірдің өзінде тіркелген деп есептеледі.
  • Кейбір сайттар, DLL жүктеуді ұсынатын, іс жүзінде сіз іздеген аты бар файлдарды сақтайды және тіркеле алмайды, себебі іс жүзінде бұл кітапхана емес.

Енді оны қалай түзетуге болады:

  • Егер сіз бағдарламашы болсаңыз және DLL-іңізді тіркеңіз, regasm.exe файлын көріңіз
  • Егер сіз пайдаланушы болсаңыз және DLL компьютерде жоқ екенін білдіретін хабармен бір нәрсе жасамасаңыз, интернеттен қандай файл түрі бар екенін және оны қайда жүктеу керектігін емес іздеңіз. Мұны білу үшін, әдетте, бастапқы кітапханаларды орнататын және оларды жүйеде тіркеген ресми орнатушыны жүктеп алуға болады - мысалы, d3d бастап басталатын барлық файлдар үшін, ресми веб-сайттың DirectX веб-сайтынан msvc, Visual Studio Redistributable нұсқаларының бірі. (Егер ойын торрентпен басталмаса, антивирус туралы есептерді қарап шығыңыз, ол қажетті DLL-ді жойып жіберуі мүмкін, ол жиі өзгертілген кітапханалармен бірге болады).
  • Әдетте, DLL-ді тіркеудің орнына, осы кітапхананы талап ететін орындалатын exe файлымен бірдей қалтадағы файлдың орны басталады.

Осы мақсатта, бір нәрсе бар қарағанда айқын болды деп үміттенемін.