عادةً لا يتم تثبيت DLL كبرنامج مستقل. إذا أبلغ Windows عن فقدان ملف، فإن الطريقة الصحيحة تعتمد على المكوّن الذي يفترض أن يوفّره: البرنامج نفسه أو Visual C++ Redistributable أو DirectX أو Windows. لا تبدأ بتنزيل الملف ونسخه إلى مجلد نظام. يشرح هذا الدليل ثلاث طرق عملية: استعادة المكوّن الموفّر، وفحص Windows، وإجراء تشخيص لـ DLL. بعد كل طريقة، تحقّق من تشغيل البرنامج أو اللعبة نفسها التي ظهر فيها الخطأ.

هل يجب تثبيت DLL يدوياً؟

DLL هي مكتبة يحمّلها التطبيق مع تبعياته، وليست حزمة تثبيت عامة. لذلك فإن أسلوب «تنزيل xxx.dll ووضعه في System32 » لا يعالج السبب في العادة. قد يحتاج الملف إلى DLL أخرى، أو لا يتوافق مع إصدار التطبيق، أو تكون له بنية مختلفة.

ما المطلوب الطريقة الآمنة
DLL لبرنامج محدد أعد تثبيت البرنامج من مصدر رسمي
vcruntime ، msvcp ، msvcr ثبّت أو أصلح Microsoft Visual C++ Redistributable المناسب
d3dx9 ، xinput ، d3dcompiler استعد مكوّن DirectX الرسمي أو أعد تثبيت اللعبة
DLL نظام Windows شغّل DISM ثم SFC
DLL منفصل من المطوّر اتبع وثائق المطوّر بدقة
DLL غير معروف من الإنترنت لا تثبّته يدوياً

تثبيت DLL في Windows: مقارنة سريعة بين الطرق

الطريقة الأنسب لـ الفعالية جهد المستخدم
تثبيت المكوّن أو إعادة تثبيت البرنامج خطأ في تطبيق واحد أو اسم مكتبة معروف مرتفعة عند تحديد المكوّن بصورة صحيحة منخفض
DISM وSFC أخطاء في عدة برامج وDLL النظام مرتفعة لمكوّنات Windows متوسط
Fionn DLL Fixer السبب غير واضح أو تحتاج إلى فحص DLL وتبعياتها تشخيص وإصلاح تلقائيان منخفض

الطريقة 1: ثبّت المكوّن أو أعد تثبيت البرنامج

متى تستخدمها: عندما يظهر الخطأ في برنامج واحد فقط، أو عندما يدل اسم الملف على بيئة تشغيل معروفة. مثلاً، بالنسبة إلى vcruntime140.dll لا تبحث عن ملف منفصل: ثبّت أو أصلح Microsoft Visual C++ Redistributable. وبالنسبة إلى d3dx9 و xinput و d3dcompiler استخدم مثبّت اللعبة الرسمي أو مكوّن DirectX الرسمي.

  1. دوّن الاسم الكامل لملف DLL واسم البرنامج من رسالة الخطأ.
  2. إذا كان الخطأ متعلقاً ببرنامج واحد فقط، فافتح الإعدادات ← التطبيقات ← التطبيقات المثبّتة .
    صفحة البرامج والميزات في Windows
  3. أزل البرنامج المتأثر أو استخدم وظيفة الإصلاح الرسمية الخاصة به إن كانت متاحة.
  4. نزّل المثبّت من الموقع الرسمي للمطوّر فقط أو من المتجر الذي حصلت منه على البرنامج.
  5. ثبّت البرنامج أو المكوّن الذي يحدده، ثم شغّله مجدداً.

التحقق: يبدأ البرنامج دون رسالة «DLL not found». إذا ظل المثبّت يطلب الملف نفسه، فتأكد من اختيار إصدار المكوّن المطابق لبنية التطبيق: x86 لبرنامج 32 بت وx64 لبرنامج 64 بت.

أين تثبّت DLL: System32 أم SysWOW64؟

لا تختر المجلد اعتماداً على اسمه فقط. في Windows ذي 64 بت، يحتوي System32 على مكتبات النظام ذات 64 بت، بينما يحتوي SysWOW64 على المكتبات ذات 32 بت؛ وتبدو الأسماء معكوسة تاريخياً. لكن Windows لا يبحث عن DLL في مجلد ثابت واحد: يشارك مجلد التطبيق ومجلدات النظام ومسارات البحث المسموح بها الأخرى. إضافةً إلى ذلك، قد تعتمد DLL نفسها على مكتبات أخرى.

هل يجب تسجيل DLL عبر regsvr32؟

لا، ليس بشكل افتراضي. لا يُعدّ regsvr32 مثبّت DLL: فهو يعمل فقط مع DLL وOCX التي تدعم التسجيل الذاتي المناسب. لا يعني خطأ DLL المفقود العادي أن التسجيل مطلوب. استخدم regsvr32 فقط عندما يطلب مطوّر البرنامج أو وثائقه الرسمية صراحةً تسجيل ملف محدد ويحددان الأمر الملائم.

الطريقة 2: استعادة ملفات نظام Windows

متى تستخدمها: عندما تظهر أخطاء متشابهة في عدة برامج غير مرتبطة، أو بعد تعطل Windows، أو عند الاشتباه بتلف مكوّنات النظام. توصي Microsoft بتشغيل DISM أولاً ثم SFC.

أمر DISM.exe لإصلاح صورة النظام
  1. افتح Windows Terminal (المسؤول) .
  2. نفّذ الأمر وانتظر حتى يكتمل:
    DISM.exe /Online /Cleanup-image /Restorehealth
        
  3. بعد DISM، نفّذ الأمر التالي:
sfc /scannow
  
  1. أعد تشغيل الكمبيوتر إذا أبلغ Windows عن إصلاح الملفات.
  2. شغّل التطبيق المتأثر مرة أخرى.

التحقق: ينهي SFC الفحص ويعرض النتيجة، ويفتح التطبيق دون الخطأ السابق. تتوفر التفاصيل في إرشادات Microsoft حول SFC وDISM .

الطريقة 3: افحص DLL ومكوّنات النظام باستخدام Fionn DLL Fixer

متى تستخدمها: عندما تحتاج إلى تشخيص DLL المفقودة أو التالفة أو غير المتوافقة، أو مشكلات System32 أو تبعيات DirectX وVisual C++ و.NET وOpenAL وXInput، ويستغرق تحديد المكوّن يدوياً وقتاً طويلاً. يدعم Fionn DLL Fixer لـ Windows الفحص والإصلاح وإعادة الفحص.

  1. شغّل Fionn DLL Fixer وانتظر حتى يكتمل الفحص التلقائي لمشكلات DLL والنظام. تشغيل Fionn DLL Fixer
  2. بعد انتهاء الفحص، انقر Repair لبدء إصلاح المشكلات المكتشفة. بعد انتهاء الفحص، انقر على Repair لبدء إصلاح جميع مشكلات DLL والنظام المكتشفة تلقائياً
  3. انتظر حتى تنتهي العملية؛ أثناء العمل، يعرض الزر Fixing . انتظر بينما يكون الإصلاح جارياً
  4. في مربع حوار التأكيد، انقر Ok ؛ وأعد تشغيل الكمبيوتر عند الطلب. عند اكتمال الإصلاح، انقر على Ok في مربع حوار التأكيد
  5. إذا استمر الخطأ بعد إعادة التشغيل، فانقر Recheck ؛ وإذا اكتُشفت مشكلات جديدة، فاختر Repair مرة أخرى. إذا استمرت المشكلة بعد إعادة التشغيل، انقر على Recheck لإجراء فحص آخر

التحقق: لا يعرض الفحص المتكرر المشكلة السابقة، ويبدأ التطبيق. تسهّل هذه الطريقة التشخيص، لكنها لا تغني عن إعادة تثبيت برنامج محدد إذا كانت ملفاته الخاصة تالفة.

الخلاصة

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

الأسئلة الشائعة

هل يمكن وضع DLL في مجلد البرنامج؟

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

لماذا لا ينبغي وضع DLL ذات 64 بت تلقائياً في SysWOW64؟

في Windows ذي 64 بت، يكون مجلد SysWOW64 مخصصاً لمكتبات النظام ذات 32 بت. لكن الاختيار اليدوي للمجلد لا يُعد حلاً عاماً، لأن DLL تُحمّل وفق قواعد البحث وقد تعتمد على ملفات أخرى.

متى تكون هناك حاجة إلى الأمر regsvr32؟

فقط مع DLL أو OCX التي تدعم التسجيل الذاتي وبناءً على تعليمات صريحة من المطوّر. لا يصلح هذا الأمر معظم رسائل DLL المفقودة.

ماذا أفعل مع vcruntime140.dll؟

ثبّت أو أصلح Microsoft Visual C++ Redistributable المناسب من مصدر رسمي، أو أعد تثبيت البرنامج الذي يتطلبه. لا تنزّل ملفاً منفرداً من دليل غير رسمي.

هل يجب تشغيل DISM وSFC معاً؟

لاستعادة ملفات النظام، توصي Microsoft بالتسلسل DISM ثم SFC. لا تحل هذه الأوامر محل إعادة تثبيت ملفات برنامج منفصل.