هنگامی که با این خطا مواجه می شوید که می گوید ویندوز نمی تواند یک فایل DLL خاص را پیدا کند، دانلود فایل از یکی از سایت های DLL زیادی که وجود دارد می تواند بسیار وسوسه انگیز باشد. در اینجا دلیلی است که شما نباید اینکار را انجام دهید.
فایل های DLL چیست ؟
قبل از اینکه چرا نباید فایلهای Dynamic Link Library (DLL) یا کتابخانه پیوند پویا را از اینترنت دانلود کنید، ابتدا نگاهی به فایلهای DLL بیندازیم. یک فایل DLL کتابخانه ای است که شامل مجموعه ای از کدها و داده ها برای انجام یک فعالیت خاص در ویندوز است. سپس برنامهها میتوانند در صورت نیاز به انجام آن فعالیت، آن فایلهای DLL را فراخوانی کنند. فایلهای DLL بسیار شبیه فایلهای اجرایی (EXE) هستند، با این تفاوت که فایلهای DLL را نمیتوان مستقیماً در ویندوز اجرا کرد. به عبارت دیگر، نمیتوانید روی یک فایل DLL دوبار کلیک کنید تا آن را به همان روشی که یک فایل EXE اجرا میکنید، اجرا کنید. در عوض، فایل های DLL طوری طراحی شده اند که توسط برنامه های دیگر فراخوانی شوند.
انواع فایلهای DLL:
- فایلهای DLL معمولی: این نوع فایلهای DLL توسط برنامههای مختلف به طور مشترک استفاده میشوند.
- فایلهای DLL خصوصی: این نوع فایلهای DLL فقط توسط یک برنامه خاص استفاده میشوند.
- فایلهای DLL کنترل ActiveX: این نوع فایلهای DLL برای ایجاد کنترلهای ActiveX استفاده میشوند.
مشکلات رایج مربوط به فایلهای DLL:
- خطاهای DLL: این خطاها زمانی رخ میدهند که یک فایل DLL خراب یا گم شده باشد.
- مشکلات سازگاری: فایلهای DLL ممکن است با نسخههای مختلف سیستم عامل یا برنامهها سازگار نباشند.
در واقع، آنها به گونه ای طراحی شده اند که توسط چندین برنامه به طور همزمان فراخوانی شوند. بخش “link” در نام غیر خلاصه شده ی DLL نیز جنبه مهم دیگری را نشان می دهد. چندین DLL را می توان به یکدیگر متصل کرد تا زمانی که یک DLL فراخوانی می شود، تعدادی از DLL های دیگر نیز همزمان فراخوانی می شوند.
خود ویندوز به طور گسترده ای از DLL ها استفاده می کند، همانطور که یک گشت و گذار در پوشه C:\Windows\System32 می تواند به شما بگوید. به عنوان مثال از آنچه در مورد آن صحبت می کنیم، اجازه دهید فایل سیستم ویندوز “comdlg32.dll” را در نظر بگیریم.
این فایل، که به عنوان کتابخانه Common Dialog Box شناخته میشود، حاوی کد و دادههایی برای ساخت بسیاری از کادرهای محاورهای رایجی است که در ویندوز میبینید – دیالوگهایی برای مواردی مانند باز کردن فایلها، چاپ اسناد و غیره. دستورالعملهای این DLL همه چیز را از دریافت و تفسیر پیامهای مربوط به کادر محاورهای گرفته تا مشخص کردن اینکه کادر محاورهای روی صفحه شما چگونه به نظر میرسد، رسیدگی میکند.
بدیهی است که چندین برنامه میتوانند همزمان با این DLL ارتباط بگیرند، در غیر این صورت نمیتوانید یک کادر محاورهای (مانند تصویر زیر) را همزمان در بیش از یک برنامه باز کنید.
DLL ها امکان ماژولارسازی و استفاده مجدد کد را فراهم می کنند، به این معنی که توسعه دهندگان برای انجام عملکردهای معمولی نیازی به نوشتن کد از ابتدا ندارند. و اگرچه توسعه دهندگان DLL های خود را برای نصب با برنامه های خود ایجاد می کنند، اکثریت قریب به اتفاق DLL های فراخوانی شده توسط برنامه ها در واقع با ویندوز یا با بسته های اضافی مانند Microsoft .NET Framework یا Microsoft C++ Redistributables همراه هستند.
مزیت بزرگ دیگر ماژولار کردن کد به این روش این است که بهروزرسانیها بهجای کل برنامهها برای هر DLL آسانتر اعمال میشوند – بهویژه زمانی که آن DLLها از توسعهدهنده برنامه نیامده باشند.
به عنوان مثال، وقتی مایکروسافت DLL های خاصی را در چارچوب دات نت خود به روز می کند، همه برنامه هایی که از آن DLL ها استفاده می کنند می توانند بلافاصله از امنیت یا عملکرد به روز شده بهره ببرند.
DLL های دانلود شده ممکن است قدیمی باشند
بنابراین، با کمی درک از DLL های موجود، چرا زمانی که یکی از آنها در سیستم شما وجود ندارد، آنها را از اینترنت دانلود نکنید؟
رایج ترین مشکلی که با DLL های دانلود شده با آن مواجه می شوید قدیمی بودن آنهاست. بسیاری از سایتهای DLL در آنجا، DLLهای خود را فقط با آپلود آنها از رایانههای خودشان یا کاربرانشان دریافت میکنند. احتمالاً از قبل می توانید مشکل را ببینید. اکثر این سایتها فقط ترافیک شما را میخواهند، و پس از بارگذاری یک DLL، انگیزه کمی برای اطمینان از بهروز نگهداشتن فایل ندارند. به این موارد اضافه کنید که فروشندگان معمولاً DLL های به روز شده را به عنوان فایل های جداگانه برای عموم منتشر نمی کنند، و می توانید ببینید که حتی سایت هایی که سعی می کنند فایل ها را به روز نگه دارند، چندان موفق نیستند.
همچنین مشکل دیگری وجود دارد که DLL ها معمولاً در بسته ها ادغام می شوند. به روز رسانی به یک DLL در یک بسته اغلب با به روز رسانی های دیگر DLL های مرتبط در همان بسته همراه است، به این معنی که حتی در صورت بعید بودن که شما یک فایل DLL به روز دریافت کنید، فایل های مرتبط را دریافت نخواهید کرد. به روز شده است.
DLL های دانلود شده می توانند آلوده شوند
حال که متوجه موضوع فایل های DLL چیست شدید قطعا باید این موضوع را نیز درک کنید که فایل های دانلود شده dll برای رفع ارور dll is missing میتوانند آلوده به ویروس های خطرناک باشند.
اگرچه کمتر رایج است، اما یک مشکل بالقوه بسیار بدتر این است که DLL هایی که از منابعی غیر از فروشنده دانلود می کنید گاهی اوقات می توانند با ویروس ها یا بدافزارهای دیگری بارگیری شوند که می توانند رایانه شما را آلوده کنند.
این امر به ویژه در سایتهایی صادق است که در مورد مکان دریافت فایلهای خود دقت زیادی ندارند. و اینطور نیست که آن سایت ها از راه خود خارج شوند تا منابع مخاطره آمیز خود را به شما بگویند. بخش واقعاً ترسناک این است که اگر یک فایل DLL آلوده را دانلود کنید، به دلیل ماهیت فایلهای DLL، در معرض خطر دسترسی عمیقتر به آن فایل نسبت به یک فایل آلوده معمولی قرار میگیرید.
خبر خوب در اینجا این است که یک برنامه آنتی ویروس خوب و بلادرنگ معمولاً می تواند این فایل های DLL آلوده را قبل از اینکه واقعاً در سیستم شما ذخیره شود شناسایی کرده و از آسیب رساندن به آنها جلوگیری کند. با این حال، باید به خاطر داشته باشید که حتی یک برنامه آنتی ویروس عالی ممکن است محافظت کاملی از شما ارائه نکند. اگر عادت به دانلود فایلهای پرخطر دارید، احتمالاً در برخی مواقع به سراغ شما خواهد آمد. بهتر است فقط از این سایت های DLL اجتناب کنید.
احتمالاً به هر حال مشکل شما را حل نخواهند کرد
در حالی که ممکن است تنها یک فایل DLL در رایانه شما خراب یا حذف شده باشد، به احتمال زیاد سایر DLL ها یا فایل های برنامه مرتبط نیز خراب یا گم شده باشند. دلیل دریافت خطا در مورد یک فایل خاص این است که این اولین خطایی است که یک برنامه قبل از خراب شدن با آن مواجه می شود و به سادگی از بقیه مطلع نمی شوید. این بدون توجه به علت مشکل می تواند درست باشد.
چرا ممکن است DLL ها از بین بروند یا خراب شوند؟ ممکن است برنامه یا بهروزرسانی اشتباه دیگری سعی کند فایل را جایگزین کند و ناموفق باشد یا آن را با یک نسخه قدیمی جایگزین کرده باشد. ممکن است ایراد از نصب برنامه اصلی شما یا بسته ای مانند دات نت باشد. حتی ممکن است مشکل دیگری مانند بخش های خراب در هارد دیسک خود داشته باشید که مانع از بارگیری صحیح فایل می شود.
چگونه می توانم خطای DLL را برطرف کنم؟
پس از درک کامل موضوع فایل های DLL چیست به انواع روش های رفع ارور dll is missing میپردازیم.
تنها راه برای اطمینان از دریافت یک DLL پایدار، به روز و تمیز، دریافت آن از طریق منبعی است که از آن منشا گرفته است. به طور معمول، آن منبع از لیست زیر خواهد بود:
- رسانه نصب ویندوز : شما بعید است که بتوانید به سادگی یک فایل DLL را از رسانه نصب خود کپی کنید، اما یک گزینه سریع برای امتحان کردن قبل از انجام کاری به اندازه نصب مجدد ویندوز دارید. میتوانید از ابزار Windows Resource Protection (که اغلب به عنوان جستجوگر فایل سیستم یا SFC نامیده میشود) استفاده کنید که فایلهای سیستمی خراب یا از دست رفته را در ویندوز اسکن و رفع میکند. هنگام اجرای ابزار باید رسانه نصب خود را در دسترس داشته باشید، فقط در صورتی که نیاز به کپی کردن یک فایل از آنجا داشته باشد.
- بسته های Microsoft .NET Framework : چندین نسخه از دات نت به صورت خودکار همراه با ویندوز نصب می شوند و بسیاری از برنامه ها نیز فایل های آن بسته ها را نصب می کنند.
- نسخه های مختلف Microsoft Visual C++ Redistributable : بسته به برنامه هایی که استفاده می کنید، ممکن است چندین نسخه از C++ Redistributable را روی رایانه شخصی خود نصب کرده باشید. گاهی اوقات تشخیص اینکه کدام یک مقصر است دشوار است،
- برنامه ای که DLL با آن همراه بود : اگر DLL به جای اینکه بخشی از یک بسته جداگانه باشد، همراه با یک برنامه نصب شده است، بهترین شرط شما این است که برنامه را دوباره نصب کنید. برخی از برنامه ها به شما امکان می دهند به جای نصب مجدد کامل، تعمیر را انجام دهید. هر یک از گزینهها باید کار کند، زیرا تعمیر معمولاً به دنبال فایلهای گمشده در پوشههای نصب میگردد.
امیدواریم این ترفند کاربردی از مجموعه آموزش های ویندوز به جهت دانستن فایل های DLL چیست – نحوه رفع ارور dll is missing در ویندوز برای شما عزیزان مفید واقع شده باشد؛ اگر شما نیز روشی برای رفع ارور dll is missing میدانید، میتوانید آن را در بخش کامنت ها مطرح کنید تا با نام شما این مقاله بروزرسانی گردد.