ما هي ملفات DLL ، وما هي المفقودين من جهاز الكمبيوتر الخاص بي؟
عندما تحصل على خطأ تفيد بأن Windows تعذر العثور على ملف DLL معين ، يمكن أن يكون مغريًا بتنزيل الملف من أحد مواقع DLL العديدة هناك. هنا لماذا لا يجب عليك.
ما هي DLLs?
قبل البدء في استخدام لماذا لا يجب تنزيل ملفات مكتبة الارتباط الديناميكي (DLL) من الإنترنت ، لنقم أولاً بإلقاء نظرة على ملفات DLL. ملف DLL هو مكتبة تحتوي على مجموعة من التعليمات البرمجية والبيانات لتنفيذ نشاط معين في Windows. يمكن للتطبيقات بعد ذلك استدعاء ملفات DLL تلك عندما تحتاج إلى تنفيذ هذا النشاط. ملفات DLL تشبه الملفات التنفيذية (EXE) ، إلا أنه لا يمكن تنفيذ ملفات DLL مباشرة في Windows. وبعبارة أخرى ، لا يمكنك النقر نقرًا مزدوجًا فوق ملف DLL لتشغيله بنفس الطريقة التي تريد بها ملف EXE. بدلاً من ذلك ، تم تصميم ملفات DLL ليتم استدعائها بواسطة تطبيقات أخرى. في الواقع ، تم تصميمها لتتم دعوتها بواسطة تطبيقات متعددة في وقت واحد. جزء "الارتباط" من اسم DLL أيضاً يقترح سمة هامة أخرى. يمكن ربط DLL متعددة معاً بحيث يتم استدعاء DLLs أخرى في نفس الوقت عندما يتم استدعاء DLL واحد.
ويندوز نفسه يجعل استخدام مكثف من DLLs ، في جولة عبر C: \ نوافذ \ system32
المجلد يمكن أن أقول لك. كمثال لما نتحدث عنه ، لنفكر في ملف نظام Windows "comdlg32.dll". يحتوي هذا الملف ، والمعروف باسم مكتبة مربع الحوار العامة ، على تعليمات وبيانات لبناء العديد من مربعات الحوار العامة التي تراها في مربعات حوار Windows لأشياء مثل فتح الملفات وطباعة المستندات وما إلى ذلك. تعالج الإرشادات الموجودة في DLL هذا كل شيء من تلقي وتفسير الرسائل المخصصة لمربع الحوار لتحديد كيفية ظهور مربع الحوار على الشاشة. من الواضح أنه يمكن للتطبيقات المتعددة الاتصال على DLL في نفس الوقت ، وإلا لن تتمكن من فتح مربع حوار (مثل المربع أدناه) في أكثر من تطبيق واحد في كل مرة.
تسمح DLLs بتجسيد التعليمات البرمجية وإعادة استخدامها ، مما يعني أن المطورين لا يضطرون إلى قضاء وقت في كتابة التعليمات البرمجية من الصفر لأداء وظائف عادية أو عادية. وعلى الرغم من أن المطورين سيقومون بإنشاء ملفات DLL الخاصة بهم للتثبيت مع تطبيقاتهم ، فإن الأغلبية العظمى من DLLs التي يطلق عليها التطبيقات تكون في الواقع واحدة مع Windows أو مع حزم إضافية ، مثل Microsoft .NET Framework أو Microsoft C ++ Redistributables. الميزة الكبيرة الأخرى لنموذج التعليمات البرمجية بهذه الطريقة هي أن التحديثات أسهل على كل ملف DLL بدلاً من تطبيق كامل ، خاصةً عندما لا تأتي هذه الملفات من مطور التطبيق. على سبيل المثال ، عندما تقوم Microsoft بتحديث DLLs معينة في .NET Framework الخاص بها ، يمكن لكافة التطبيقات التي تستخدم هذه DLLs الاستفادة على الفور من الأمان أو الوظيفة المحدثة.
قد تكون DLLs التي تم تحميلها قديمة
لذلك ، مع القليل من فهم DLLs تحت أحزمتنا ، لم لا تقوم بتنزيلها من الإنترنت عندما يكون المرء مفقودًا من نظامك?
المشكلة الأكثر شيوعًا التي تواجهها مع DLLs التي تم تنزيلها هي أنها قديمة. العديد من مواقع DLLs هناك الحصول على DLLs الخاصة بهم فقط عن طريق تحميلها من أجهزة الكمبيوتر الخاصة بهم أو المستخدمين الخاصة بهم. ربما يمكنك رؤية المشكلة بالفعل. معظم هذه المواقع ترغب فقط في حركة المرور الخاصة بك ، وبمجرد تحميل DLL ، يكون لديهم حافز صغير لضمان تحديث الملف باستمرار. أضف إلى ذلك أن البائعين لا يقومون عادة بتحرير ملفات DLL المحدثة للجمهور كملفات فردية ، ويمكنك أن ترى حتى تلك المواقع محاولة للحفاظ على الملفات محدثة لن تكون ناجحة على الأرجح.
هناك أيضا مشكلة أخرى أن يتم دمج DLL عادة في الحزم. غالباً ما يصاحب التحديث إلى DLL في حزمة من خلال التحديثات الخاصة بـ DLLs الأخرى ذات الصلة في نفس الحزمة ، وهذا يعني أنه حتى في الحالة غير المحتملة التي تحصل فيها على ملف DLL حديث ، لن تحصل على الملفات ذات الصلة التي لديها أيضًا تم تحديثه.
DLLs التي تم تحميلها يمكن أن تصاب
على الرغم من أنه أقل شيوعًا ، إلا أن المشكلة التي يُحتمل أن تكون أسوأ بكثير هي أن DLLs التي تقوم بتنزيلها من مصادر أخرى غير البائع يمكن أحيانًا تحميلها بفيروسات أو برامج ضارة أخرى يمكن أن تصيب جهاز الكمبيوتر الخاص بك. وينطبق هذا بشكل خاص على المواقع التي لا تحظى بالحذر الشديد بشأن مكان حصولها على ملفاتها. وانها ليست مثل هذه المواقع سوف تخرج من طريقهم لإخبارك عن مصادرها الخطرة. الجزء المخيفة حقاً هو أنه إذا قمت بتنزيل ملف DLL مصاب ، فإنك بذلك تخاطر -بطبيعة طبيعة ملفات DLL- بإعطاء الوصول إلى ملفات أعمق من ملف عادي مصاب.
والخبر السار هنا هو أن تطبيق مكافحة الفيروسات الجيد في الوقت الحقيقي يمكنه عادةً اكتشاف ملفات DLL المصابة قبل حفظها فعليًا في نظامك ومنعها من القيام بأي ضرر. ومع ذلك ، يجب أن تتذكر أنه حتى برنامج مكافحة الفيروسات الرائع قد لا يوفر لك الحماية الكاملة. إذا كنت تستخدم عادةً لتنزيل الملفات المحفوفة بالمخاطر ، فمن المحتمل أن تلتحق بك في وقت ما. من الأفضل تجنب هذه المواقع DLL.
انهم ربما لن يحل مشكلتك على أي حال
في حين أنه من الممكن أن يكون ملف DLL واحد فقط على جهاز الكمبيوتر الخاص بك قد تم تلفه أو حذفه ، فمن المحتمل أن تكون ملفات DLL أو ملفات التطبيقات الأخرى الأخرى معطوبة أو مفقودة. السبب وراء ظهور خطأ في ملف معين هو أنه الخطأ الأول الذي واجهه أحد التطبيقات قبل التعطُّل ، ولا يتم إعلامك ببساطة بالباقي. يمكن أن يكون هذا صحيحًا بغض النظر عن سبب المشكلة.
لماذا قد تذهب ملفات DLL مفقودة أو فاسدة؟ قد يكون ذلك محاولة تطبيق أو تحديث آخر خاطئ لاستبدال الملف وفشله ، أو استبداله بنسخة قديمة. قد يكون من الخطأ في تثبيت تطبيقك الرئيسي أو في حزمة مثل .NET. قد يكون حتى أن لديك قطاعات تالفة شبيهة بالمشاكل على القرص الثابت ، والتي تمنع تحميل الملف بشكل صحيح.
كيف يمكنني تصحيح خطأ بلدي DLL?
الطريقة الوحيدة لضمان الحصول على DLL ثابت وحديث ، ونظيفة هو الحصول عليه من خلال المصدر الذي نشأت منه. عادةً ما يكون هذا المصدر:
- وسائط تثبيت Windows الخاصة بك. من المستبعد أن تتمكن ببساطة من نسخ ملف DLL من وسائط التثبيت الخاصة بك ، ولكن لديك خيار سريع للتجربة قبل القيام بشيء كبير مثل إعادة عمل Windows. يمكنك استخدام أداة حماية موارد Windows (غالبًا ما يشار إليها باسم مدقق ملفات النظام ، أو SFC) ، والتي ستقوم بمسح ضوئي لملفات النظام التالفة أو المفقودة وإصلاحه في Windows. يجب أن يكون لديك وسائط التثبيت سهلة الاستخدام عند تشغيل الأداة ، فقط في حالة احتياجها لنسخ ملف من هناك. (إذا لم يكن لديك قرص تثبيت ، فيمكنك تنزيل قرص هنا.)
- حزم Microsoft .NET Framework. يتم تثبيت العديد من إصدارات .NET تلقائيًا مع Windows ، كما تقوم العديد من التطبيقات أيضًا بتثبيت الملفات من تلك الحزم أيضًا. يمكنك قراءة مقالتنا حول إطار عمل .NET ، والتي تحتوي أيضًا على بعض النصائح لإيجاد وإصلاح المشاكل المرتبطة بها.
- حزم مختلفة Microsoft Visual C ++ القابلة لإعادة التوزيع. اعتمادا على التطبيقات التي تستخدمها ، قد يكون لديك إصدارات متعددة من C ++ Redistributable مثبتة على جهاز الكمبيوتر الخاص بك. في بعض الأحيان يكون من الصعب تضييق أي واحد هو الجاني ، ولكن مكان جيد للبدء هو مقالنا حول C ++ Redistributables ، والذي يتميز أيضًا بالعديد من خطوات استكشاف الأخطاء وإصلاحها والروابط حيث يمكنك تنزيل أحدث الإصدارات مباشرة من Microsoft.
- التطبيق الذي جاء مع DLL. إذا تم تثبيت DLL مع تطبيق بدلاً من كونه جزءًا من حزمة منفصلة ، فإن أفضل رهان هو فقط لإعادة تثبيت التطبيق. تتيح لك بعض التطبيقات إجراء إصلاح بدلاً من إعادة التثبيت الكامل. يجب أن يعمل أي من الخيارين ، لأن الإصلاح عادةً ما يبحث عن الملفات المفقودة في مجلدات التثبيت.
إذا فشل كل ذلك ، فقد تتمكن من الاتصال ببائع التطبيق وطلب نسخة من ملف DLL فردي. بعض الشركات مفتوحة لهذا الطلب ؛ البعض لا. إذا واجهت شركة لا تقدم ملفات فردية ، فقد تتمكن على الأقل من تقديم اقتراحات أخرى لحل مشكلتك.