โดยทั่วไป 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: เปรียบเทียบวิธีการแบบรวดเร็ว

วิธี เหมาะที่สุดสำหรับ ประสิทธิภาพ ความพยายามของผู้ใช้
ติดตั้งคอมโพเนนต์หรือติดตั้งโปรแกรมใหม่ ข้อผิดพลาดในแอปพลิเคชันเดียว หรือทราบชื่อไลบรารี สูงเมื่อระบุคอมโพเนนต์ได้ถูกต้อง ต่ำ
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 Online Cleanup Image Restorehealth
  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 อย่างถูกต้อง ให้ระบุคอมโพเนนต์ที่จัดหาไฟล์ก่อน ไม่ใช่เลือกโฟลเดอร์สำหรับไฟล์เดี่ยว เมื่อเกิดข้อผิดพลาดกับโปรแกรมเดียว ให้ติดตั้งโปรแกรมหรือรันไทม์อย่างเป็นทางการใหม่ สำหรับปัญหาระบบในหลายโปรแกรม ให้เรียกใช้ 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 คำสั่งเหล่านี้ไม่ได้ทดแทนการติดตั้งไฟล์ของโปรแกรมเฉพาะใหม่