Skip to main content

Модуль загружаны ... але кропка ўваходу DLLRegisterServer не знойдзена



Вельмі непрыемная памылка ў Windows «Модуль загружаны, але кропка ўваходу DLLRegisterServer не знойдзена» звязаная, як правіла, з некарэктным функцыянаваннем дынамічна падлучальнай бібліятэкі (скар., «.Dll»), да якой звяртаецца праграма падчас сваёй працы. У выніку убудаваны ў Windows працэс адказвае за рэгістрацыю бібліятэкі ў АС, адмаўляецца яе прыняць або не можа знайсці. А праграма, звяртаемся да непрацуючым модулях, адпаведна, не функцыянуе. Таму, прапаную раскласці па палічках дадзеную праблему для таго, каб зразумець, якім чынам яе можна выправіць.

Сообщение о проблеме на экране компьютера
Паведамленне аб праблеме на экране кампутара



Змест артыкула:

У чым сутнасць памылкі «Модуль загружаны, але кропка ўваходу DLLRegisterServer ўваходу не знойдзена»?

Такім чынам, тлумачэнне сэнсу дадзенай памылкі заканамерна будзе пачаць з вызначэння «бібліятэкі". Бібліятэка або ў некаторых мовах праграмавання, модуль (модулі) - гэта набор падпраграм, якія выкарыстоўваюцца ў распрацоўцы праграмнага забеспячэння. Прасцей кажучы, гэта сукупнасць невялікіх і незалежных блокаў, кожны з якіх з'яўляецца функцыянальна скончаным фрагментам кода.

Для чаго яны прызначаны? Існуе велізарная колькасць падпраграм або працэдур, якія выконваюць самыя розныя задачы. Некаторыя з іх ўтрымліваюць стандартныя для многіх праграм вылічальныя аперацыі. Да прыкладу, адкрыццё дыялогавых вокнаў у Windows або знаходжанне квадратнага кораня з любога ліку - гэта стандартныя, часта сустракаемыя працэдуры. Дык вось, каб не пісаць код такіх падпраграм кожны раз пры стварэнні ПА, былі прыдуманы загадзя нарыхтаваныя файлы, якія атрымалі назву «бібліятэкі». З дапамогай адмысловай функцыі іх можна падключыць да праграмы, пры гэтым выканальны код гэтай бібліятэкі не будзе ўкараняцца ў код прыкладання, што дазваляе зэканоміць памяць ПК.

Dynamic Link Library - динамически подключаемая библиотека
бібліятэка dll

Дынамічныя бібліятэкі DLL, ўбудавальныя ў Windows, належаць да модуляў агульнага карыстання (shared library). Адметныя іх асаблівасці для карыстальніка складаюцца ў наступным:


  • Функцыі, прапісаныя ў такіх бібліятэках, могуць выкарыстоўвацца некалькімі праграмамі адначасова;
  • Загружаюцца яны па запыце адпаведнага працэсу, то ёсць дынамічна, ня спажываючы без патрэбы рэсурсы ПК.

На жаль, у DLL модуляў ёсць і недахопы. Не будзем казаць аб так званым «DLL Hell», бо на дадзены момант, нягледзячы на ​​парушэнне самага ідэйнага прынцыпу дынамічных бібліятэк агульнага карыстання, распрацоўшчыкі Microsoft дазволілі гэтую праблему. Значна важней ў дадзеным артыкуле адзначыць наступныя недахопы:

  • Пры унясенні ў бібліятэку змяненняў праграмы, якія выкарыстоўваюць яго могуць перастаць працаваць. Гэты недахопы з'яўляецца ўлюбёным ў распаўсюджвальнікаў вірусаў. Бо сама Windows функцыянуе на аснове модуляў і, пашкодзіўшы іх код, можна паўплываць на працу АС.
  • Пры адсутнасці бібліятэкі ці яе некарэктнай версіі праграма, якая выкарыстоўвае дадзены модуль, адпаведна, будзе альбо няправільна функцыянаваць, альбо адмовіцца працаваць.
  • Функцыі, прапісаныя ў бібліятэцы Dll, атрымліваюць адзін адрас у аператыўнай памяці для ўсіх працэсаў, якія выклікаюць іх, што спрашчае эксплуатацыю уразлівасцяў модульнага метаду арганізацыі ПА;

Зараз аб тым, што такое кропка ўваходу. Кропкай ўваходу называецца адрас у аператыўнай памяці, па якім захоўваецца першая каманда праграмы. На самай справе, функцый у адной бібліятэцы можа быць некалькі і кожная з іх мае свой пункт уваходу, да якой і звяртаецца працэс, які выклікае пэўную падпраграму.

Такім чынам, скампанаваныя ўсё вышэйапісанае ў адзінае цэлае, мы можам раскрыць сутнасць памылкі «Модуль загружаны, але кропка ўваходу DLLRegisterServer ўваходу не знойдзена». Гэтая праблема ўзнікае пры рэгістрацыі бібліятэкі ў сістэме. Працэс «Regsvr32.exe», які адказвае за инсталлирование інтэрфейсаў аб'ектаў у АС, не можа выявіць функцыю рэгістрацыі бібліятэкі «DLLRegisterServer» у праблемным dll.


  • Код функцыі, якая запытваецца праграмай, пашкоджаны. Гэта можа быць выклікана як некарэктнай версіяй рэгіструемага вамі бібліятэкі, так і віруснай атакай, сапсаваць код модуля, шлях да бібліятэкі ў рэестры ці яе ідэнтыфікатар GUID.
  • Функцыя DLLRegisterServer можа першапачаткова адсутнічаць у кодзе рэгіструемага вамі бібліятэкі;
  • Адсутнасць у кодзе бібліятэкі інтэграцыі з кампанентамі COM / ActiveX, якія кіруюць рэалізацыяй dll ў Windows;
  • Працэс рэгістрацыі наогул складаецца ў тым, каб прапісаць шлях да падключаецца модуль (модулях) у рэестры Windows, для таго, каб АС магла «убачыць» бібліятэку і апавясціць праграму, запытваць яе, аб наяўнасці або адсутнасці пэўнага модуля ў сістэме. Акрамя таго, кожнаму класу або аб'екту, што ўваходзіць у склад падпраграмы, прысвойваецца унікальны ідэнтыфікатар GUID, ён таксама неабходны для рэгістрацыі, паколькі праграмы працуюць не з самімі бібліятэкамі dll, а з функцыянальнымі кампанентамі, якія ўваходзяць у яе склад. Гэта сведчыць аб тым, што пры няправільнай рэгістрацыі бібліятэкі значэння, прапісаныя ў рэестры, застануцца нявернымі, у выніку АС не зможа «апазнаць» бібліятэку, каб ПА мела магчымасць падключыць яе.

Разгледзеўшы асноўныя прычыны, па якіх узнікаюць непаладкі з бачнасцю АС бібліятэкі, можна перайсці да шляхоў іх дазволу.

Выпраўляем праблему пры якой модуль загружаны, але кропка ўваходу DLLRegisterServer не знойдзена

Такім чынам, для таго каб самастойна справіцца з праблемай "Модуль загружаны, але кропка ўваходу DLLRegisterServer не знойдзена", неабходна спампаваць бібліятэку , якая была пашкоджана ў выніку дзеянняў вірусаў або іншых фактараў. Яе назва можна паглядзець у выскокваюць паведамленні пра памылку.

Сообщение от RegSvr32 об ошибке
Кропка ўваходу ў бібліятэку thumbcache.dll не знойдзена

Спампоўваем бібліятэкі dll

Спампоўваючы бібліятэкі, абавязкова спачатку удакладніце разраднасць вашай версіі Windows (х32 / х64). Калі вы знойдзеце і ўсталюйце непадыходныя файлы dll, памылка "Модуль загружаны, але кропка ўваходу DLLRegisterServer не знойдзена" выпраўленая не будзе. Размесціце запампаваныя ўручную файлы ў тэчках SysWOW64 і System32, якія знаходзяцца C: \ Windows.

Адзін вельмі важны нюанс - пры запампоўцы бібліятэк dll ніколі не карыстайцеся падазронымі рэсурсамі. Па-першае, дадзеныя з такіх сайтаў могуць проста не падысці для вашай АС (яны часта ўяўляюць з сябе ўсечаную версію патрэбнага файла), а, па-другое, хутчэй за ўсё, яны ўтрымліваюць шкоднасны код, які не толькі не пазбавіць вас ад праблем, але яшчэ і дадасць новых. Заўсёды пры найменшым падазрэнні правярайце сайт (для гэтага існуюць розныя анлайн-сэрвісы), чытайце водгукі і каментары карыстальнікаў. Калі запампаваны файл dll не працуе, вазьміце яго з іншага рэсурсу.

Рэгіструем бібліятэкі dll

У выпадку, калі бібліятэка на кампутары ў поўным парадку, але кропка ўваходу ўсё роўна не знойдзена, паспрабуем зарэгістраваць dll ў RegSvr32. Разгледзім шляху пазбаўлення ад праблемы на аснове вышэйпаказанага малюнка. Рэгіструем файл thumbcache.dll, які знаходзіцца C: \ Windows \ SysWOW64.
Першы спосаб - выклікаць камандны радок і ўвесці патрэбныя дадзеныя:

  1. націскаем win + x і знаходзім у якое з'явілася меню камандны радок;
  2. пасля кліку на апошнюю з'яўляецца чорнае акно;
  3. пасля слова "Кампутар>" ўводзім слова regsvr32 і праз прабел шлях да праблемнаму файлу C: \ Windows \ SysWOW64 \ thumbcache.dll.
Ввод регистрации RegSvr при помощи командной строки
Рэгістрацыя бібліятэкі dll праз камандны радок

Націскаем Enter і чакаем заканчэння працэсу рэгістрацыі бібліятэкі. Калі дадзены метад не дапамагае, паспрабуйце паўтарыць тыя ж дзеянні, але ўжо ў камандным радку ад імя адміністратара. Магчыма, вам не хапае правоў для ўнясення змяненняў у сістэму.

Другі спосаб - выкарыстоўваць радок "Выканаць":

  • націскаем win + r і выкліканы патрэбную нам радок;
  • у якое з'явілася поле ўводзім назву файла RegSvr32.exe і шлях да адсутнай бібліятэцы;
  • націскаем OK і чакаем выніку.
Ввод команды на регистрацию в строке "Выполнить"
Рэгіструем dll праз радок «Выканаць»

Усталёўваем абнаўлення для Windows

Спосаб, да якога можна звяртацца ўжо пасля таго, як вышэйпаказаныя метады не прынеслі жаданага выніку - абнаўленне кампанентаў вашай АС. Для гэтага знайдзіце на сваім кампутары Цэнтр абнаўлення. Праглядзіце ўсе даступныя абнаўлення і прогрузите іх. Працэс доўгі, але неабходны. Быць можа, праблема была ў першапачаткова няправільным кодзе dll-файлаў, і распрацоўшчыкі ўжо знайшлі рашэнне на сваім узроўні. Ня выключайце злучэнне з інтэрнэтам і сам ПК падчас ўстаноўкі абнаўленняў, інакш выніку не будзе. Пераканайцеся, што ўсе файлы прогружены і пры неабходнасці паўторыце аперацыю.

Часта для выпраўлення памылкі "Модуль загружаны, але кропка ўваходу DLLRegisterServer не знойдзена" распрацоўшчыкі выпускаюць рознае дадатковае ПА: моды, патчы, пакеты ўстаноўкі. У гэтым выпадку знайдзіце і запампуйце апошнюю версію праграмнага забеспячэння, з якім у вас узніклі праблемы. І напрыканцы пра вельмі непажаданым варыянце - пераўсталёўцы ўсёй Windows. Вядома, гэтага без патрэбы не хочацца рабіць нікому, але, калі сістэма не адкрывае бібліятэку dll, а ўсе вышэйпаказаныя метады ўжо апрабаваны, то перанясіце ўсталяваную і стаўце іншую зборку АС (з вартых даверу крыніц).



Як вы ацэніце артыкул?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (7 адзнак, сярэдняе: 2,00 з 5)
Загрузка ...

Дадаць каментар

Ваш e-mail не будзе апублікаваны.