Windows-dagi DLLni ro'yxatdan o'tkazish

Foydalanuvchilar Windows 7 va 8 da dll faylini qanday yozishni so'rashadi. Odatda, "kerakli DLL kompyuterda bo'lmaganligi sababli, dasturni ishga tushirish mumkin emas". Bu haqida va gapirish.

Aslida, tizimda kutubxonani ro'yxatdan o'tkazish juda qiyin ish emas (men bir usulning uchta variantini ko'rsataman) - aslida bitta qadam kerak. Faqatgina Windows-ning administrator huquqlariga ega bo'lishingiz kerak.

Biroq, ayrim nuanslar bor, masalan, DLL-ni muvaffaqiyatli ro'yxatga olish sizni kutubxonada etishmayotgan xatoliklar xatosidan qutqarmaydi va modul bu kompyuterda Windows versiyasi yoki DLLRegisterServer kirish nuqtasi bilan mos kelmaydigan xabar bilan RegSvr32 xatosining ko'rinishi topilmadi Bu siz noto'g'ri narsa qilayotganingizni anglatmaydi (men buni maqolaning oxirida tushuntiraman).

Operatsion tizimida DLLni ro'yxatdan o'tkazishning uchta usuli

Keyingi qadamlarni ta'riflaydigan bo'lsak, kutubxonangizni nusxalash kerakligini topdingiz va DLL allaqachon System32 yoki SysWOW64 papkasida joylashgan (va ehtimol u erda bo'lsa, boshqa joyda).

Eslatma: quyida regsvr32.exe yordamida DLL kutubxonasini ro'yxatdan o'tkazishning tavsifi tushuntiriladi, ammo 64-bitli tizimga ega bo'lsangiz, u holda ikkita regsvr32.exe faylini topsangiz, C: Windows SysWOW64 da ikkinchisi C: Windows System32. Va bu 64-bit System32 papkasida joylashgan turli fayllar. Misollarda men ko'rsatganimdek, regsvr32.exe faylining to'liq yo'lini har bir usulda tavsiya qilaman.

Birinchi usul Internetda boshqalarga nisbatan tez-tez ta'riflanadi va quyidagilardan iborat:

  • Windows + R tugmalarini bosing yoki Windows 7 Ishga tushirish menyusida Run ni tanlang (agar, albatta, siz uning ekranini yoqsangiz).
  • Kirish regsvr32.exe path_to_file_DLL
  • OK yoki Enter ni bosing.

Shundan so'ng, agar hamma narsa yaxshi bo'lsa, kutubxonani muvaffaqiyatli ro'yxatdan o'tkazganligi haqida xabarni ko'rishingiz kerak. Ammo, ehtimol yuqori ehtimollik bilan siz yana bir xabarni ko'rasiz - modul o'rnatilgan, lekin kirish nuqtasi DllRegisterServer topilmadi va sizning DLL faylingiz to'g'ri fayl ekanligini tekshirishga arziydi (bu haqda keyinroq yozaman).

Ikkinchidan, buyruq satrini ma'mur sifatida ishlatish va avvalgi elementdan bir xil buyrug'i kiritish.

  • Buyruqning xohishini boshqaruvchi sifatida ishga tushiring. Windows 8-da, Win + X tugmalarini bosib kerakli menyu ni tanlang. Windows 7 da buyruqlar satridan Boshlash menyusida topishingiz mumkin, ustiga o'ng tugmasini bosing va "Administrator sifatida ishga tushirish" ni tanlang.
  • Buyruqni kiriting regsvr32.exe path_to_library_DLL (skrinshotdagi misolni ko'rishingiz mumkin).

Shunga qaramay tizimda DLLni ro'yxatdan o'tkaza olmaysiz.

Va ba'zi holatlarda ham foydali bo'lishi mumkin bo'lgan so'nggi uslub:

  • Ro'yxatdan o'tishni istagan DLL-ni o'ng tugmasini bosing va "Open with." Menyudagi elementni tanlang.
  • "Browse" -ni bosing va Windows / System32 yoki Windows / SysWow64 papkasida regsvr32.exe faylini toping, uni ishlatib DLLni oching.

Tizimdagi DLLni ro'yxatdan o'tkazishning barcha usullarining mohiyati bir xil, bir xil buyruqni ishlatishning bir necha xil usuli - bu kimga qulayroq. Va endi nima uchun siz hech narsa qilolmaysiz.

Nima uchun DLLni ro'yxatdan o'tkaza olmaysiz

Shunday qilib, o'yinni yoki dasturni ishga tushirishda xatolikni ko'rganingiz uchun siz ushbu faylni internetdan yuklab olib, ro'yxatdan o'tishga harakat qildingiz, lekin DllRegisterServer kirish nuqtasi yoki modul Windowsning joriy versiyasi bilan mos emas va sizning DLL faylingiz yo'q Ehtimol, boshqa narsa, ya'ni DLL ro'yxatdan o'tkazish mumkin emas.

Nima uchun bu sodir bo'ladi (bundan keyin va uni qanday tuzatish kerak):

  • Barcha DLL fayllari ro'yxatdan o'tish uchun yaratilgan emas. Bu tarzda ro'yxatdan o'tish uchun uni DllRegisterServer funktsiyasining o'zi qo'llab-quvvatlashi kerak. Ba'zida xatolik, kutubxonaning allaqachon ro'yxatdan o'tganligi bilan bog'liq.
  • DLL-ni yuklab olishni taklif qiladigan ba'zi saytlar aslida siz izlayotgan ismingiz bilan yozilgan qo'g'irchoq fayllarni o'z ichiga oladi va ro'yxatga olinmaydi, chunki aslida bu kutubxona emas.

Endi uni qanday tuzatish kerak:

  • Agar dasturchi bo'lsangiz va DLL ni ro'yxatdan o'tkazsangiz, regasm.exe harakat qilib ko'ring
  • Agar siz foydalanuvchi bo'lsangiz va siz DLL-ning kompyuteringizda bo'lmaganligi haqida biror narsa bilan ishlamasangiz, Internetni qidirib toping va qanday faylni qaerdan yuklab olishingiz mumkin. Buni bilish uchun odatda asl kutubxonalarni o'rnatadigan rasmiy tizimni yuklab olishingiz mumkin - masalan, d3d bilan boshlangan barcha fayllar uchun, to'g'ridan-to'g'ri Microsoft veb-saytidan DirectXni qo'yish, msvc uchun Visual Studio'nun Redistributable versiyalaridan biri. (Va agar o'yin torrentdan boshlamasa, antivirus hisobotlarini ko'rib chiqing, kerakli DLLni olib tashlashi mumkin, ko'pincha o'zgartirilgan kutubxonalar bilan sodir bo'ladi).
  • Odatda, DLLni ro'yxatdan o'tkazish o'rniga, ushbu kutubxonani talab qiladigan exe fayli bilan bir xil papkada faylning joylashuvi tetiklenir.

Shu maqsadda, menimcha, nimadir bir narsadan ko'ra aniqroq bo'lib chiqdi.