ไฟล์ 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 - กล่องโต้ตอบสำหรับสิ่งต่างๆเช่นการเปิดไฟล์การพิมพ์เอกสารและอื่น ๆ คำแนะนำใน DLL นี้จัดการทุกอย่างตั้งแต่การรับและการตีความข้อความที่มีไว้สำหรับกล่องโต้ตอบไปจนถึงการระบุลักษณะของกล่องโต้ตอบบนหน้าจอของคุณ เห็นได้ชัดว่าหลายแอพสามารถเรียกใช้ DLL นี้พร้อมกันได้มิฉะนั้นคุณจะไม่สามารถเปิดกล่องโต้ตอบ (เช่นเดียวกับด้านล่าง) ในมากกว่าหนึ่งแอพ

DLL ช่วยให้โค้ดสามารถโมดูลาร์และนำกลับมาใช้ใหม่ได้ซึ่งหมายความว่านักพัฒนาไม่จำเป็นต้องเสียเวลาเขียนโค้ดตั้งแต่เริ่มต้นเพื่อทำหน้าที่ทั่วไปหรือทั่วไป และแม้ว่านักพัฒนาจะสร้าง 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 Resource Protection (มักเรียกว่าตัวตรวจสอบไฟล์ระบบหรือ SFC) ซึ่งจะสแกนหาและแก้ไขไฟล์ระบบที่เสียหายหรือหายไปใน Windows คุณควรมีสื่อการติดตั้งของคุณพร้อมใช้งานเมื่อเรียกใช้เครื่องมือในกรณีที่จำเป็นต้องคัดลอกไฟล์จากที่นั่น (หากคุณไม่มีแผ่นติดตั้งคุณสามารถดาวน์โหลดได้ที่นี่)
  • แพคเกจ Microsoft .NET Framework NET หลายเวอร์ชันได้รับการติดตั้งโดยอัตโนมัติพร้อมกับ Windows และแอพจำนวนมากก็ติดตั้งไฟล์จากแพ็คเกจเหล่านั้นเช่นกัน คุณสามารถอ่านบทความของเราเกี่ยวกับ. NET framework ซึ่งมีคำแนะนำในการค้นหาและแก้ไขปัญหาที่เกี่ยวข้อง
  • แพ็คเกจ Microsoft Visual C ++ Redistributableต่างๆ ขึ้นอยู่กับแอพที่คุณใช้คุณอาจมี C ++ Redistributable หลายเวอร์ชันติดตั้งบนพีซีของคุณ บางครั้งอาจเป็นเรื่องยากที่จะ จำกัด ให้แคบลงว่าอันไหนเป็นผู้ร้าย แต่จุดเริ่มต้นที่ดีคือบทความของเราเกี่ยวกับ C ++ Redistributables ซึ่งมีขั้นตอนการแก้ไขปัญหาและลิงก์ต่างๆที่คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้โดยตรงจาก Microsoft
  • แอปพลิเคว่า DLL ที่มาพร้อมกับ หาก DLL ได้รับการติดตั้งพร้อมกับแอพแทนที่จะเป็นส่วนหนึ่งของแพ็คเกจแยกต่างหากทางออกที่ดีที่สุดของคุณคือติดตั้งแอพใหม่ แอพบางตัวอนุญาตให้คุณทำการซ่อมแซมแทนการติดตั้งใหม่ทั้งหมด ตัวเลือกใดตัวหนึ่งควรใช้งานได้เนื่องจากโดยทั่วไปการซ่อมแซมจะค้นหาไฟล์ที่หายไปในโฟลเดอร์การติดตั้ง

หากทุกอย่างล้มเหลวคุณอาจติดต่อผู้จำหน่ายแอปและขอสำเนาไฟล์ DLL แต่ละไฟล์ได้ บาง บริษัท เปิดรับคำขอนี้ บางคนไม่ได้ หากคุณพบ บริษัท ที่ไม่ให้บริการไฟล์แต่ละไฟล์อย่างน้อยที่สุดพวกเขาอาจให้คำแนะนำอื่น ๆ ในการแก้ปัญหาของคุณได้