Чӣ тавр ба DLL дар Windows сабти

Истифодабарандагон дар бораи чӣ гуна сабт кардани файлҳои DLL дар Windows 7 ва 8. Дар акси ҳол, пас аз пайдо шудани хатогиҳо, "Барномаро оғоз кардан мумкин нест, чунки DL зарур аст, дар компютер нест". Дар бораи ин ва гап.

Дар воқеъ, бақайдгирии китобхона дар система чунин вазифаи душвор нест (ман се нишондиҳандаи як усулро нишон медиҳам) - дар асл, танҳо як қадами зарурӣ лозим аст. Талаботи ягона ин аст, ки шумо ҳуқуқи ҳуқуқи муаллифии Windows дошта бошед.

Бо вуҷуди ин, баъзе нусхаҳо вуҷуд доранд - масалан, ҳатто бақайдгирии муваффақонаи DLL ҳатман шуморо аз китобхонаи хатогии нодуруст гумроҳ мекунад ва намоиши хатоги RegSvr32 бо паёми, ки модул бо версияи Windows бо ин компютер ё DLLRegisterServer ворид нашудааст Ин маънои онро надорад, ки шумо коре нодуруст мекунед (ман инро дар охири мақола шарҳ медиҳам).

Се роҳҳои бақайдгирии ДЛЛ дар OS

Дар тасвири қадамҳои оянда, ман фикр мекунам, ки шумо дар куҷо ба куҷо нусхабардорӣ кардани китобхонаатонро ёфтед ва DLL аллакай дар папкаи System32 ё SysWOW64 (ва шояд шояд ягон ҷои дигар бошад, агар бошад).

Дар хотир доред, ки чӣ тавр ба қайд гирифтан дар китобхонаи DLL бо regsvr32.exe диққат диҳед, аммо диққати шумо ба он, ки агар шумо системаи 64-бит дошта бошед, пас шумо ду regsvr32.exe доред - яке аз C: Windows SysWOW64 дуюм C: Windows System32 аст. Инҳо файлҳои гуногун мебошанд, ки 64-Bit дар папкаи Система ҷойгиранд. Ман тавсия медиҳам, ки роҳи пурра ба regsvr32.exe дар ҳар як роҳҳо, на танҳо номи файл, ки ман дар мисолҳо нишон додаам.

Усули якум дар Интернет бештар аз дигарон тавсиф шудааст ва аз инҳо иборат аст:

  • Тугмаҳои Windows + R -ро пахш кунед ё Варианти Роҳиро дар менюи Windows 7 Start menu интихоб кунед (агар, албатта, шумо нишон дода будед).
  • Дохил кунед НОҲИЯИ МУЪМИНОБОД.exe path_to_file_dll
  • OK ё Enter -ро пахш кунед.

Пас аз он, агар ҳама чиз хубтар шуда бошад, шумо бояд хабареро, ки китобхона ба даст овард, бомуваффақият ба қайд гирифта шавад. Аммо, бо эҳтимоли зиёд эҳтимолан шумо паёми дигарро мебинед - модул бор карда шудааст, аммо нуқтаи дохилӣ DllRegisterServer ёфт нашуд ва он аст, ки тафтиш кунед, ки DLL-и шумо файли дуруст аст (ман дар ин бора менависам).

Иҷрои дуюм ин аст, ки хати фармонро ҳамчун мудир иҷро кунед ва ҳамон фармонро аз ҷузъи пештара ворид кунед.

  • Нишондиҳандаи фармонро ҳамчун Administrator иҷро кунед. Дар Windows 8, тугмаи Win + X -ро пахш карда тугмаи менюи дилхоҳро интихоб кунед. Дар Windows 7, шумо метавонед сатри фармонро дар менюи Оғоз пайдо кунед, онро пахш кунед ва "Роҳбарият" -ро интихоб кунед.
  • Фармонро ворид кунед НОҲИЯИ МУЪМИНОБОД.exe path_to_library_dll (шумо метавонед намунаи намоишро дар экран дида бароед).

Боз, он эҳтимол дорад, ки шумо дар система ба DLL ба қайд гирифта наметавонед.

Ва усули охирин, ки метавонад дар баъзе ҳолатҳо муфид бошад:

  • Дар DLL-ро пахш кунед, ки мехоҳед ба қайд гиред ва ҷузъи меню бо "Оғози кушода" -ро интихоб кунед.
  • "Browse" -ро пахш кунед ва regsvr32.exe дар папкаи Windows / System32 ё Windows / SysWow64 файл пайдо кунед, DLL -ро истифода баред.

Мафҳуми ҳамаи роҳҳои таснифшудаи бақайдгирии ДЛЛ дар система ҳамон як аст, танҳо чанд роҳҳои гуногун барои иҷрои ҳамон фармон - ба онҳое, ки ба онҳо осон аст. Ва ҳоло дар бораи чаро шумо ягон кор карда наметавонед.

Чаро DLL-ро ба қайд нагиред?

Пас, шумо ягон файли DLL дошта бошед, зеро он вақте ки шумо бозӣ ё барномаро оғоз мекунед, шумо ин файлро аз интернет дарёфт кардед ва кӯшиш кунед, ки ба қайд гиред, аммо нуқтаи дохилии DllRegisterServer ё модули бо версияи ҷории Windows мувофиқ нест ва шояд чизи дигаре, яъне, бақайдгирии DLL ғайриимкон аст.

Чаро ин ҳолат (минбаъд ва чӣ тавр ислоҳ кардани он):

  • На ҳамаи файлҳои DLL ба қайд гирифта шудаанд. Барои он ки ба ин тариқ ба қайд гирифта шавад, он бояд барои фаъолияти DllRegisterServer дастгирии худро дошта бошад. Баъзан хатогӣ низ аз сабаби он, ки китобхона аллакай ба қайд гирифта шудааст.
  • Баъзе сайтҳое, ки барои зеркашӣ кардани DLL пешниҳод мекунанд, дар ҳақиқат, файлҳои думдор бо номи шумо ҷустуҷӯ мекунанд ва наметавонанд ба қайд гирифта шаванд, зеро дар асл ин китобхона нест.

Ва ҳоло чӣ тавр ислоҳ кардани он:

  • Агар шумо барномасоз бошед ва DLL-ро ба қайд гиред, try regasm.exe санҷед
  • Агар шумо корбар ҳастед ва шумо ягон хабарро бо паём нишон медиҳед, ки DLL дар компютер нест, ҷустуҷӯи Интернетро барои кадом навъи парванда вуҷуд надорад ва он ҷо куҷост, ки онро зеркашӣ кунед. Дар ин ҳолат, шумо метавонед насбкунандаи расмӣ, ки китобхонаҳои аслиро насб карда, онҳоро дар система ба қайд гиред - масалан, барои ҳамаи файлҳои бо номи сарлавҳаи d3d сар карда, танҳо DirectX аз вебсайти расмии Microsoft, барои msvc, яке аз версияҳои Visual Studio тақсим карда мешавад. (Ва агар бозича аз як сел сар нашавад, пас ба гузориши антивирус нигаред, он метавонад DLL зарурӣ шавад, аксар вақт бо баъзе китобхонаҳои тағйирёфта рӯй медиҳад).
  • Одатан, ба ҷои бақайдгирии DLL, маҳалли ҷойгиркунии файл дар як феҳристе, ки файли exe иҷрошавандаест, ки ин китобро талаб мекунад.

Дар ин ҳолат ман умедворам, ки чизи бештар равшантар аз он аст.