کاربران از نحوه ثبت فایل DLL در ویندوز 7 و 8 درخواست می کنند. معمولا پس از مواجهه با اشتباهاتی مانند "برنامه را نمی توان شروع کرد، زیرا DLL لازم در رایانه نیست." درباره این و بحث
در حقیقت، ثبت یک کتابخانه در یک سیستم، یک کار دشوار نیست (من سه تغییرات از یک روش را نشان خواهم داد) - در واقع، تنها یک مرحله ضروری است. تنها لازم است که شما دارای حقوق مدیر ویندوز هستید.
با این حال، برخی از تفاوت های ظریف وجود دارد - برای مثال، حتی ثبت نام موفق DLL لزوما شما را از یک خطای کتابخانه در کامپیوتر نجات و ظاهر یک خط RegSvr32 با پیام که ماژول با نسخه ویندوز در این کامپیوتر سازگار نیست و یا نقطه ورود DLLRegisterServer یافت نشد. این بدان معنا نیست که شما چیزی اشتباه می کنید (من در انتهای این مقاله توضیح خواهم داد).
سه راه برای ثبت DLL در OS
توصیف مراحل بعدی، فرض میکنم که شما متوجه شدید کجا باید کتابخانه خود را کپی کنید و DLL در حال حاضر در پوشه System32 یا SysWOW64 (و شاید در جایی دیگر، اگر آن وجود داشته باشد).
توجه داشته باشید: در زیر نحوه ثبت کتابخانه DLL با استفاده از regsvr32.exe را شرح خواهم داد، اما من توجه شما را به این واقعیت می گیرم که اگر شما یک سیستم 64 بیتی داشته باشید، شما دو regsvr32.exe دارید - یکی در پوشه C: Windows SysWOW64 دومین عبارت C: Windows System32 است. و این فایل های مختلف هستند، با 64 بیتی در پوشه System32 واقع شده است. من توصیه می کنم با استفاده از مسیر کامل به regsvr32.exe در هر یک از راه ها، و نه فقط نام پرونده، همانطور که در نمونه ها نشان داده شده است.
اولین روش در اینترنت بیشتر از سایرین توصیف شده و شامل موارد زیر است:
- کلید ویندوز + R را فشار دهید یا گزینه Run را در منوی Start ویندوز 7 انتخاب کنید (اگر، البته، صفحه نمایش خود را فعال کرده اید).
- وارد شوید regsvr32exe path_to_file_DLL
- روی OK یا Enter کلیک کنید.
پس از آن، اگر همه چیز به خوبی پیش رفت، باید پیامی دریافت کنید که کتابخانه با موفقیت ثبت شد. اما با احتمال زیاد شما یک پیام دیگر خواهید دید - ماژول بارگیری می شود، اما نقطه ورود DllRegisterServer یافت نشد و ارزش این را دارد که DLL شما درست فایل باشد (بعدا در مورد آن خواهم نوشت).
راه دوم این است که خط فرمان را به عنوان یک مدیر اجرا کنید و همان دستور را از مورد قبلی وارد کنید.
- دستور فرمان را به عنوان Administrator اجرا کنید. در ویندوز 8، شما می توانید کلید های Win + X را فشار داده و سپس مورد دلخواه منو را انتخاب کنید. در ویندوز 7، میتوانید خط فرمان را در منوی Start پیدا کنید، روی آن راست کلیک کرده و گزینه «Run as administrator» را انتخاب کنید.
- دستور را وارد کنید regsvr32exe path_to_library_DLL (شما می توانید مثال را در تصویر ببینید).
باز هم احتمال دارد که شما قادر به ثبت نام DLL در سیستم نخواهید بود.
و آخرین روش، که در بعضی موارد می تواند مفید باشد:
- راست کلیک بر روی DLL که شما می خواهید برای ثبت نام و انتخاب آیتم های منو "باز با."
- روی «مرور» کلیک کنید و فایل regsvr32.exe را در پوشه Windows / System32 یا Windows / SysWow64 پیدا کنید و DLL را با استفاده از آن باز کنید.
جوهره تمام روش های توصیف شده برای ثبت یک DLL در سیستم یکسان است، فقط چند راه مختلف برای اجرای یک فرمان - به آن که راحت تر است. و در حال حاضر در مورد چرا شما نمی توانید چیزی را انجام دهید.
چرا نمی توان DLL را ثبت کرد
بنابراین، شما هیچ فایل DLL را ندارید، زیرا شما در هنگام شروع بازی یا برنامه خطایی را مشاهده می کنید، این فایل را از اینترنت دانلود کرده اید و سعی می کنید ثبت نام کنید، اما نقطه ورود DllRegisterServer یا ماژول با نسخه فعلی ویندوز سازگار نیست و شاید چیز دیگری، یعنی ثبت نام DLL غیرممکن است.
چرا این اتفاق می افتد (بعد از آن، و چگونگی رفع آن):
- همه فایل های DLL برای ثبت نام طراحی نشده اند. به منظور ثبت آن به این روش، باید از عملکرد تابع DllRegisterServer پشتیبانی کند. گاهی اوقات یک خطا نیز ناشی از این واقعیت است که کتابخانه قبلا ثبت شده است.
- بعضی از سایت هایی که پیشنهاد می دهند DLL را دانلود کنید، در واقع شامل فایل های ساختگی با نام شما می شوند و نمی توانند ثبت شوند، زیرا در واقع این یک کتابخانه نیست.
و اکنون چگونگی رفع آن:
- اگر شما یک برنامه نویس هستید و DLL خود را ثبت می کنید، regasm.exe را امتحان کنید
- اگر کاربر هستید و چیزی را با یک پیام شروع نکنید که نشان می دهد DLL در رایانه نیست، در اینترنت جستجو کنید که کدام فایل چیست و جایی که آن را دانلود کنید. با دانستن این، معمولا می توانید نصب کننده اصلی را نصب کنید که کتابخانه های اصلی را نصب می کند و آنها را در سیستم ثبت می کند - به عنوان مثال برای تمام فایل های با نام با شروع از d3d، DirectX را از وب سایت رسمی مایکروسافت برای msvc، یکی از نسخه های Visual Studio Redistributable قرار دهید. (و اگر یک بازی از یک تورنت شروع نمی شود، سپس به گزارش های آنتی ویروس نگاه می کند، می تواند DLL لازم را حذف کند، اغلب با برخی از کتابخانه های اصلاح شده اتفاق می افتد).
- معمولا، به جای ثبت نام DLL، محل فایل در همان فولدر به عنوان فایل exe اجرایی که این کتابخانه نیاز دارد، فعال می شود.
در این راستا امیدوارم که چیزی روشن تر از آن باشد.