Истифодабарандагон мепурсанд, ки чӣ гуна як файли dll -ро дар Windows 7 ва 8 сабт мекунанд. Одатан, пас аз он ки онҳо хатогиҳоро дучор мешаванд, ба монанди "Оғози барнома ғайриимкон аст, зеро dll-и зарурӣ дар компютер мавҷуд нест." Мо дар ин бора гап мезанем.
Дар асл, ба қайд гирифтани китобхона дар система кори душвор нест (Ман се варианти як усулро нишон хоҳам дод) - дар асл, танҳо як қадам лозим аст. Ягона шарти асосӣ дар он аст, ки шумо ҳуқуқи мудири Windows доред.
Аммо, якчанд нуктаҳо мавҷуданд - масалан, ҳатто сабти бомуваффақияти DLL шуморо аз хатогии «китобхона дар компютер нест» наҷот намедиҳад ва хатои RegSvr32 бо паёме пайдо мешавад, ки модул бо нусхаи Windows дар ин компютер мувофиқ нест ё нуқтаи вуруд DLLRegisterServer ёфт нашуд, Ин маънои онро надорад, ки шумо ягон кори хато мекунед (ман дар охири мақола шарҳ медиҳам, ки ин чӣ гуна хоҳад буд).
Се роҳи ба қайд гирифтани DLL дар ОС
Қадамҳои навбатиро тавсиф карда, гумон мекунам, ки шумо дар куҷо нусхабардории китобхонаи худро пайдо кардаед ва DLL аллакай дар ҷузвдони System32 ё SysWOW64 ҷойгир шудааст (ва эҳтимолан дар ҷои дигаре бошад, агар он ҷо бошад).
Эзоҳ: дар зер мо чӣ гуна ба қайд гирифтани DLL-ро тавассути regsvr32.exe тасвир хоҳем кард, аммо ман диққати шуморо ба он ҷалб мекунам, ки агар шумо системаи 64-бита дошта бошед, пас шумо ду regsvr32.exe доред - яке дар ҷузвдони C: Windows SysWOW64 дуюм C: Windows System32. Ва ин файлҳои гуногунанд, бо 64-бита дар папкаи System32 ҷойгиранд. Ман тавсия медиҳам, ки дар ҳар яке аз ин усулҳо роҳи пурраи regsvr32.exe -ро истифода барам, на танҳо номи файл, тавре ки ман дар намунаҳо нишон додаам.
Методи аввал назар ба дигарон бештар дар Интернет тавсиф карда мешавад ва аз зерин иборат аст:
- Тугмаҳои Windows + R -ро пахш кунед ё "Иҷро кардан" -ро аз менюи Windows 7 оғоз кунед (агар шумо, албатта, дисплеи он фаъол набошад).
- Ворид кунед regsvr32.exe path_to_file_длл
- OK ё Enterро пахш кунед.
Баъд аз ин, агар ҳама чиз хуб кор кунад, шумо бояд хабареро бинед, ки китобхона бомуваффақият ба қайд гирифта шудааст. Аммо, бо эҳтимолияти зиёд шумо паёми дигареро хоҳед дид - Модул бор карда шуд, аммо нуқтаи вуруди DllRegisterServer ёфт нашуд ва тафтиш кардани он дуруст аст, ки DLL файли шумост (тавре ки ман гуфтам, дар ин бора дертар менависам).
Роҳи дуюм ин хати фармонро ҳамчун администратор иҷро кардан ва ҳамон фармонро аз сархати қаблӣ дохил кардан.
- Сатри фармонро ҳамчун администратор иҷро кунед. Дар Windows 8, шумо метавонед Win + X-ро пахш кунед ва ҷузъи менюи дилхоҳро интихоб кунед. Дар Windows 7, шумо метавонед сатри фармонро дар менюи оғозёбӣ ёбед, тугмаи ростро клик кунед ва "Иҷро кардани ҳамчун маъмур" -ро интихоб кунед.
- Фармонро ворид кунед regsvr32.exe path_to_library_длл (намунае, ки шумо онро дар экрани экран дида метавонед).
Боз ҳам, эҳтимол дорад, ки шумо дар система сабти ном нашавед.
Ва усули охирин, ки он низ метавонад дар баъзе ҳолатҳо муфид бошад:
- DLL-ро, ки ба қайд гирифтан мехоҳед, бо пои рости муш пахш кунед ва банди менюи "Кушодан бо."
- "Баррасӣ" -ро клик кунед ва файли regsvr32.exe -ро дар ҷузвдони Windows / System32 ё Windows / SysWow64 пайдо кунед, DLL-ро бо он кушоед.
Моҳияти ҳамаи роҳҳои тавсифшудаи бақайдгирии DLL дар система якхела аст, танҳо якчанд роҳи мухталифи иҷро кардани як фармон - ба кӣ осонтар аст. Ва акнун дар бораи он ки чаро шумо муваффақ нашавед.
Чаро DLL-ро ба қайд гирифта наметавонад
Ҳамин тавр, шумо ягон гуна файли DLL надоред, бинобар ин ҳангоми оғози бозӣ ё хато шумо хаторо мебинед, ин файлро аз Интернет зеркашӣ кардаед ва кӯшиш мекунед, ки сабти ном кунед, аммо ё нуқтаи вуруд DllRegisterServer ё модул бо нусхаи кунунии Windows мувофиқ нест ва шояд чизи дигаре, яъне ба қайд гирифтани DLL ғайриимкон аст.
Чаро чунин рӯй медиҳад (минбаъд чӣ гуна бояд ислоҳ шавад):
- На ҳамаи файлҳои DLL барои ба қайд гирифтан тарҳрезӣ шудаанд. Барои он ки ин тарз сабти ном шавад, он бояд ҳамон як функсияи DllRegisterServer дошта бошад. Баъзан хато инчунин бо он сабт карда мешавад, ки китобхона аллакай ба қайд гирифта шудааст.
- Баъзе сайтҳое, ки зеркашии DLL-ро пешниҳод мекунанд, дар асл, файлҳои dummy бо номе, ки шумо ҷустуҷӯ мекунед ва ба қайд гирифта намешаванд, зеро ин дар ҳақиқат китобхона нест.
Ва акнун дар бораи чӣ гуна онро ислоҳ кардан лозим аст:
- Агар шумо барномасоз бошед ва DLL-и худро ба қайд гиред, regasm.exe-ро санҷед
- Агар шумо корбар бошед ва ягон чизе бо паёме, ки DLL дар компютери шумо нест аст, сар накунад, дар Интернет дар бораи он, ки ин файл чӣ гуна аст ва дар куҷо зеркашӣ накардани он нигаред. Одатан, инро дониста шумо метавонед насби расмии зеркаширо зеркашӣ кунед, ки китобхонаҳои аслиро насб мекунад ва дар система сабти ном мекунад - масалан, барои ҳамаи файлҳое, ки бо номи d3d сар мешаванд, танҳо DirectX -ро аз вебсайти расмии Microsoft насб кунед, барои msvc - яке аз версияҳои Visual Studio Redistributable. (Ва агар баъзе бозӣ аз ҷӯйбор сар нашавад, пас ба гузоришҳои антивирус нигоҳ кунед, он метавонад DLL-ҳои заруриро нест кунад, ин одатан бо баъзе китобхонаҳои тағирёфта рух медиҳад).
- Одатан, ба ҷои бақайдгирии DLL, ҷойгиркунии файл дар як папка бо файли exe иҷрошаванда, ки ин китобхонаро талаб мекунад, оғоз меёбад.
Ба ин хулоса омадам, умедворам, ки чизе аз он дақиқтар шудааст.