ما هي ملفات DLL ، ولماذا مفقود من جهاز الكمبيوتر الخاص بي؟

عندما تحصل على خطأ يفيد بأن Windows لم يتمكن من العثور على ملف DLL معين ، فقد يكون من المغري للغاية تنزيل الملف من أحد مواقع DLL العديدة الموجودة هناك. إليك لماذا لا يجب عليك ذلك.

ما هي ملفات DLL؟

ذات صلة: ما هو rundll32.exe ولماذا يتم تشغيله؟

قبل أن نبدأ في معرفة سبب عدم تنزيل ملفات مكتبة الارتباط الديناميكي (DLL) من الإنترنت ، دعنا أولاً نلقي نظرة على ملفات DLL. ملف DLL هو مكتبة تحتوي على مجموعة من التعليمات البرمجية والبيانات لتنفيذ نشاط معين في Windows. يمكن للتطبيقات بعد ذلك استدعاء ملفات DLL هذه عندما تحتاج إلى تنفيذ هذا النشاط. تشبه ملفات DLL إلى حد كبير الملفات التنفيذية (EXE) ، باستثناء أنه لا يمكن تنفيذ ملفات DLL مباشرة في Windows. بمعنى آخر ، لا يمكنك النقر نقرًا مزدوجًا فوق ملف DLL لتشغيله بنفس طريقة تشغيل ملف EXE. بدلاً من ذلك ، تم تصميم ملفات DLL ليتم استدعاؤها بواسطة التطبيقات الأخرى. في الواقع ، تم تصميمها ليتم استدعاؤها بواسطة تطبيقات متعددة في وقت واحد. يقترح جزء "الارتباط" من اسم DLL أيضًا جانبًا مهمًا آخر. يمكن ربط مكتبات DLL متعددة معًا بحيث عندما يتم استدعاء DLL واحد ،يتم أيضًا استدعاء عدد من مكتبات DLL الأخرى في نفس الوقت.

يستخدم Windows نفسه على نطاق واسع مكتبات DLL ، حيث C:\Windows\System32يمكن أن تخبرك جولة عبر المجلد. كمثال على ما نتحدث عنه ، دعنا نفكر في ملف نظام Windows "comdlg32.dll." يحتوي هذا الملف ، المعروف باسم مكتبة مربع الحوار العامة ، على تعليمات برمجية وبيانات لبناء العديد من مربعات الحوار الشائعة التي تراها في Windows — مربعات حوار لأشياء مثل فتح الملفات وطباعة المستندات وما إلى ذلك. تتعامل الإرشادات الموجودة في مكتبة الارتباط الديناميكي هذه مع كل شيء بدءًا من استلام وتفسير الرسائل المخصصة لمربع الحوار وحتى تحديد كيفية ظهور مربع الحوار على شاشتك. من الواضح أن تطبيقات متعددة يمكنها استدعاء مكتبة الارتباط الديناميكي هذه في نفس الوقت ، وإلا فلن تتمكن من فتح مربع حوار (مثل المربع أدناه) في أكثر من تطبيق واحد في وقت واحد.

تسمح DLLs للبرمجة بالوحدات النمطية وإعادة استخدامها ، مما يعني أنه لا يتعين على المطورين قضاء الوقت في كتابة التعليمات البرمجية من البداية لأداء وظائف عادية أو شائعة. وعلى الرغم من أن المطورين سينشئون مكتبات DLL الخاصة بهم لتثبيتها مع تطبيقاتهم ، فإن الغالبية العظمى من مكتبات DLL التي تستدعيها التطبيقات مجمعة بالفعل مع Windows أو مع حزم إضافية ، مثل Microsoft .NET Framework أو Microsoft C ++ Redistributables. الميزة الكبيرة الأخرى لتعديل التعليمات البرمجية بهذه الطريقة هي أن التحديثات أسهل للتطبيق على كل DLL بدلاً من تطبيق بأكمله - خاصةً عندما لا تأتي مكتبات DLL هذه من مطور التطبيق. على سبيل المثال ، عندما تقوم Microsoft بتحديث مكتبات DLL معينة في .NET Framework الخاص بها ، يمكن لجميع التطبيقات التي تستخدم مكتبات DLL هذه الاستفادة على الفور من الأمان أو الوظائف المحدثة.

ذات صلة: ما هو Microsoft .NET Framework ، ولماذا يتم تثبيته على جهاز الكمبيوتر الخاص بي؟

قد تكون ملفات DLL التي تم تنزيلها قديمة

لذا ، مع القليل من الفهم لملفات DLL تحت أحزمتنا ، لماذا لا تقوم بتنزيلها من الإنترنت عندما يكون أحدها مفقودًا من نظامك؟

المشكلة الأكثر شيوعًا التي ستواجهها مع ملفات DLL التي تم تنزيلها هي أنها قديمة. تحصل العديد من مواقع DLL على مكتبات DLL الخاصة بها بمجرد تحميلها من أجهزة الكمبيوتر الخاصة بهم - أو أجهزة الكمبيوتر الخاصة بهم. ربما يمكنك رؤية المشكلة بالفعل. معظم هذه المواقع تريد فقط حركة المرور الخاصة بك ، وبمجرد تحميل ملف DLL ، يكون لديهم القليل من الحافز لضمان تحديث الملف. أضف إلى ذلك أن البائعين لا يقومون عادةً بإصدار ملفات DLL المحدثة للجمهور كملفات فردية ، ويمكنك أن ترى أنه حتى المواقع التي  تحاول تحديث الملفات من غير المحتمل أن تكون ناجحة جدًا.

هناك أيضًا مشكلة أخرى تتمثل في أن مكتبات DLL عادةً ما يتم دمجها في الحزم. غالبًا ما يكون تحديث DLL واحد في الحزمة مصحوبًا بتحديثات لملفات DLL الأخرى ذات الصلة في نفس الحزمة ، مما يعني أنه حتى في حالة حصولك على ملف DLL مُحدَّث على الأرجح ، فلن تحصل على الملفات ذات الصلة التي تحتوي أيضًا تم تحديثه.

يمكن إصابة ملفات DLL التي تم تنزيلها

على الرغم من أنها أقل شيوعًا ، إلا أن المشكلة التي قد تكون أسوأ بكثير هي أن مكتبات DLL التي تقوم بتنزيلها من مصادر أخرى غير البائع يمكن أحيانًا تحميلها بفيروسات أو برامج ضارة أخرى يمكن أن تصيب جهاز الكمبيوتر الخاص بك. هذا صحيح بشكل خاص على المواقع التي ليست حريصة للغاية بشأن مكان الحصول على ملفاتها. وليس الأمر كما لو أن تلك المواقع ستبذل قصارى جهدها لإخبارك بمصادرها الخطرة. الجزء المخيف حقًا هو أنك إذا قمت بتنزيل ملف DLL مصاب ، فإنك تخاطر - بحكم طبيعة ملفات DLL - بإعطاء هذا الملف وصولاً أعمق مما قد يحصل عليه الملف المصاب العادي.

ذات صلة: ما هو أفضل مضاد فيروسات لنظام التشغيل Windows 10؟ (هل يكفي برنامج Windows Defender؟)

والخبر السار هنا هو أن تطبيق مكافحة الفيروسات الجيد في الوقت الفعلي يمكنه عادةً اكتشاف ملفات DLL المصابة قبل حفظها فعليًا في نظامك ومنعها من التسبب في أي ضرر. ومع ذلك ، يجب أن تتذكر أنه حتى برنامج مكافحة الفيروسات الرائع قد لا يوفر لك الحماية الكاملة. إذا اعتدت على تنزيل ملفات خطرة ، فمن المحتمل أن يلحق بك في مرحلة ما. من الأفضل تجنب مواقع DLL هذه.

ربما لن يحلوا مشكلتك على أي حال

في حين أنه من المحتمل أن يكون ملف DLL واحد فقط على جهاز الكمبيوتر الخاص بك قد تعرض للتلف أو الحذف ، فمن المرجح أن تكون ملفات DLL الأخرى أو ملفات التطبيقات ذات الصلة تالفة أو مفقودة أيضًا. السبب في حصولك على خطأ بشأن ملف معين هو أنه الخطأ الأول الذي يواجهه التطبيق قبل تعطله ولا يتم إخطارك بالباقي. يمكن أن يكون هذا صحيحًا بغض النظر عن سبب المشكلة.

ذات صلة: تم توضيح القطاعات السيئة: لماذا تتسبب محركات الأقراص الثابتة في تلف القطاعات وما يمكنك القيام به حيال ذلك

لماذا قد تفقد ملفات DLL أو تتلف؟ قد يكون ذلك بسبب محاولة تطبيق أو تحديث خاطئ آخر استبدال الملف وفشل ، أو استبداله بنسخة قديمة. قد يكون هناك خطأ في تثبيت تطبيقك الرئيسي أو في حزمة مثل .NET. قد يكون الأمر كذلك أنك تواجه مشكلة أخرى - مثل القطاعات التالفة على القرص الثابت - التي تمنع تحميل الملف بشكل صحيح.

كيف يمكنني إصلاح خطأ DLL الخاص بي؟

الطريقة الوحيدة لضمان حصولك على DLL مستقرة وحديثة ونظيفة هي الحصول عليها من خلال المصدر الذي نشأت منه. عادةً ما يكون هذا المصدر:

ذات صلة: كيفية البحث عن (وإصلاح) ملفات النظام الفاسدة في Windows

  • وسائط تثبيت Windows الخاصة بك . من غير المحتمل أن تتمكن ببساطة من نسخ ملف DLL من وسائط التثبيت الخاصة بك ، ولكن لديك خيار سريع للمحاولة قبل القيام بشيء جذري مثل إعادة تثبيت Windows. يمكنك استخدام أداة حماية موارد Windows (يشار إليها غالبًا باسم مدقق ملفات النظام ، أو SFC) ، والتي ستقوم بالبحث عن ملفات النظام التالفة أو المفقودة وإصلاحها في Windows. يجب أن يكون لديك وسائط التثبيت في متناول يديك عند تشغيل الأداة ، فقط في حالة احتياجها لنسخ ملف من هناك. (إذا لم يكن لديك قرص تثبيت ، يمكنك تنزيل أحدها من هنا.)
  • حزم Microsoft .NET Framework . يتم تثبيت العديد من إصدارات .NET تلقائيًا جنبًا إلى جنب مع Windows ، كما تقوم العديد من التطبيقات أيضًا بتثبيت ملفات من هذه الحزم. يمكنك قراءة مقالنا حول .NET framework ، والذي يحتوي أيضًا على بعض النصائح للعثور على المشكلات المرتبطة وإصلاحها.
  • حزم Microsoft Visual C ++ القابلة لإعادة التوزيع المختلفة . اعتمادًا على التطبيقات التي تستخدمها ، قد يكون لديك إصدارات متعددة من C ++ Redistributable مثبتة على جهاز الكمبيوتر الخاص بك. قد يكون من الصعب في بعض الأحيان تضييق نطاق أيهما هو الجاني ، ولكن أفضل مكان للبدء هو مقالتنا عن C ++ Redistributables ، والتي تتميز أيضًا بالعديد من خطوات استكشاف الأخطاء وإصلاحها والروابط حيث يمكنك تنزيل أحدث الإصدارات مباشرة من Microsoft.
  • التطبيق الذي جاء به ملف DLL . إذا تم تثبيت DLL مع أحد التطبيقات بدلاً من أن يكون جزءًا من حزمة منفصلة ، فإن أفضل رهان لك هو إعادة تثبيت التطبيق فقط. تسمح لك بعض التطبيقات بإجراء إصلاح بدلاً من إعادة التثبيت الكامل. يجب أن يعمل أي من الخيارين ، نظرًا لأن الإصلاح يبحث عادةً عن الملفات المفقودة في مجلدات التثبيت.

إذا فشل كل ذلك ، فقد تتمكن من الاتصال ببائع التطبيق وطلب نسخة من ملف DLL فردي. بعض الشركات منفتحة على هذا الطلب ؛ البعض ليس كذلك. إذا واجهت شركة لا تقدم ملفات فردية ، فقد تتمكن على الأقل من تقديم اقتراحات أخرى لحل مشكلتك.