Эмнелерди билүү керек
- DLL myfile.dll файлын каттоо үчүн regsvr32 myfile.dll киргизиңиз, ал эми аны каттоодон чыгаруу үчүн r egsvr32 /u myfile.dll териңизбуйрук сабына.
- Эгер сиз DLL файлын каттоого аракет кылып жатканда ката чыксаңыз, сизде туура уруксаттар жок болушу мүмкүн же файл бөгөттөлүшү мүмкүн.
- Башка каталар көз карандылыктын жоктугунан улам болушу мүмкүн; ошондой болсо, DLL файлы талап кылган бардык көз карандылыктарды көрүү үчүн Dependency Walker колдонуңуз.
Бул макалада Windows'до regsvr32 буйрук сабы куралын кантип колдонуу керек жана кээ бир regsvr32 каталарын кантип оңдоо керектиги түшүндүрүлөт. Regsvr32 DLL файлдары жана ActiveX Control сыяктуу Object Linking and Embedding (OLE) башкаруу элементтерин каттоо жана каттоодон чыгаруу үчүн колдонулат. OCX файлдары. Компьютериңизде DLL катасын көрсөңүз, DLL файлын катташыңыз керек болушу мүмкүн.
DLL файлын кантип каттатуу жана каттоодон чыгаруу керек
Эгер Windows Реестриндеги DLL файлына шилтемелер кандайдыр бир жол менен алынып салынса же бузулса, ал DLL файлын колдонууга муктаж болгон программалар иштебей калышы мүмкүн. Бул реестр менен байланыш бузулганда DLL файлы катталышы керек.
DLL файлын каттоо адатта аны биринчи жолу каттаган программаны кайра орнотуу менен ишке ашат. Бирок, кээде DLL файлын Буйрук Сароосу аркылуу кол менен катташыңыз керек болот.
Эгер сиз аны кантип тапаарыңызды билбей жатсаңыз, Буйрук сапты кантип ачуу боюнча окуу куралыбызды караңыз.
Бул regsvr32 буйругун түзүүнүн туура жолу:
regsvr32 [/u] [/n] [/i[:cmdline]
Мисалы, myfile.dll аттуу DLL файлын каттоо үчүн бул биринчи буйрукту, же аны каттоодон чыгаруу үчүн экинчи буйрукту киргизесиз:
regsvr32 myfile.dll
regsvr32 /u myfile.dll
Бардык DLL файлдарын буйрук сабына жогорудагы буйрукту киргизүү менен гана каттала бербейт. Адегенде бул файлды колдонуп жаткан кызматты же программаны жабуу керек болушу мүмкүн.
Жалпы Regsvr32 каталарын кантип оңдоого болот
Бул жерде сиз DLL файлын каттоого аракет кылып жатканда көрүшү мүмкүн болгон бир ката:
Модуль жүктөлдү, бирок DllRegisterServer'ге чалуу 0x80070005 ката коду менен ишке ашпай калды.
Бул адатта уруксат маселеси. Эгерде жогорулатылган Command Prompt дагы эле DLL файлын каттоого мүмкүндүк бербесе, файлдын өзү бөгөттөлүшү мүмкүн. Файлдын касиеттери терезесиндеги Жалпы өтмөктүн Коопсуздук бөлүмүн текшериңиз.
Дагы бир мүмкүн болгон маселе бул файлды колдонууга туура уруксаттарыңыз жок болушу мүмкүн.
Ушундай ката билдирүүсү төмөндөгүдөй. Бул ката адатта DLL компьютердеги эч бир тиркеме үчүн COM DLL катары колдонулбай жатканын билдирет, демек аны каттоонун кереги жок.
Модуль жүктөлдү, бирок кирүү чекити DllRegisterServer табылган жок.
Бул жерде дагы regsvr32 ката билдирүүсү:
Модуль жүктөлбөй калды. Бинардык файл көрсөтүлгөн жолдо сакталганын текшериңиз же бинардык же көз каранды. DLL файлдары менен көйгөйлөрдү текшерүү үчүн аны оңдоо. Көрсөтүлгөн модул табылган жок.
Бул өзгөчө ката жетишпеген көз карандылыктан улам болушу мүмкүн, мындай учурда DLL файлы талап кылган бардык көз карандылыктардын тизмесин көрүү үчүн Dependency Walkerди колдонсоңуз болот, анткени сизде иреттүү болушу керек болгон көз карандылыктардын бири жок болушу мүмкүн. DLL туура катталышы үчүн.
Ошондой эле, DLL файлына жол туура жазылганын текшериңиз. Буйруктун синтаксиси абдан маанилүү; туура эмес киргизилсе, ката чыгышы мүмкүн.
Кээ бир DLL файлдарынын жайгашкан жери төмөнкүдөй тырмакчага алынышы керек болот:
"C:\Users\Admin User\Programs\myfile.dll"
Regsvr32.exe кайда сакталат?
32-бит Windows версиялары (XP жана андан жаңыраак) Windows биринчи жолу орнотулганда Microsoft Register Server куралын бул папкага кошот: %systemroot%\System32\.
64-бит Windows версиялары regsvr32.exe файлын ошол жерде гана эмес, бул жерде да сактайт: %systemroot%\SysWoW64\.