RunDLL error ตอน Startup Windows มักเกิดเมื่อโปรแกรมถูก Uninstall หรือถูก Antivirus ลบ แต่ Registry key และ Scheduled task ยังคงอยู่ ในระบบ
ส่วนใหญ่ ตัวทำให้ Error ง่ายต่อการระบุ เพราะมักแสดงในหน้าต่าง Error

แต่บางกรณี Error message ไม่ระบุโปรแกรมที่ผิด เกิดกับ Error จาก Windows protected folders
RunDLL คืออะไร?
RunDLL = ไฟล์ Windows ที่โหลดและรันโมดูล DLL (Dynamic Link Library) ทุก DLL ทำงานใกล้ชิดกับ Windows Registry เพื่อเพิ่ม Response speed และ Memory management
แต่บางครั้ง RunDLL ถูก Scheduled task สั่งรัน DLL ตัวหนึ่ง แต่หา Module ที่ต้องการไม่เจอ Windows จึงโชว์ RunDLL error อัตโนมัติ
สาเหตุ: 1) User ลบโปรแกรมที่ใช้ DLL นั้นด้วยตนเอง (ไม่ใช้ Uninstaller) 2) Security solution ตรวจพบ Infection เกี่ยวกับโปรแกรมที่ใช้ DLL นั้น และดำเนินการลบ
หากเจอ RunDLL error มีวิธีแก้หลายอย่าง ลองตามลำดับ (เรียงตามความเข้าถึงง่าย):
วิธีที่ 1: สแกนระบบด้วย Malwarebytes
เริ่มจากวิธีเข้าถึงง่ายที่สุด Malwarebytes = Malware remover ที่มักมีประสิทธิภาพมากกว่าในการกำจัย Threat ทั้งหมดที่เกี่ยวกับไฟล์ร้ายหลัก
บางคนรายงานว่า Malwarebytes หาและลบ Registry keys และ Scheduled tasks ของ Virus ที่ Antivirus ตัวอื่นลบไปแล้ว ได้สำเร็จ เหมาะกับ RunDLL errors ที่มาจากไฟล์ร้ายค้างอยู่
ติดตั้ง Malwarebytes รัน Full scan Restart ระบบท้ายที่สุด ดูว่าข้อผิดพลาดหายหรือไม่
หา Malwarebytes ไม่แก้ ไป วิธีที่ 2
วิธีที่ 2: ลบ Startup entry ด้วย Autoruns
หา Malwarebytes ไม่แก้ มีซอฟต์แวร์อีกตัวช่วยลบ Scheduled task ที่ทำให้ RunDLL error ได้ง่าย
Autoruns ใช้ลบ Run once, Run, Registry keys, Startup folders ช่วยในกรณีนี้เพราะลบ Registry key หรือ Scheduled task ที่ Trigger RunDLL error ได้
ทำตามคำแนะนำ:
- ไปลิงก์ทางการ (ที่นี่) คลิก Download Autoruns and Autorunsc ดาวน์โหลด Archive แล้ว Extract ด้วย WinRar/WinZip ไว้โฟลเดอร์เข้าถึงง่าย

- เปิดโฟลเดอร์ รัน Autoruns executable รอจนรายการ Everything โหลดรายการ Startup items ครบ

- รายการโหลดครบ กด Ctrl + F ค้นหา ใน Find what พิมพ์ชื่อ DLL file ที่ Error รายงาน
หมายเหตุ: เช่น Error โชว์ "RUNDLL Error Loading C:\ Documents and Settings \ *UserName* \ Local Settings \ Application Data \ advPathNet \ BluetoothcrtLite.dll" ให้พิมพ์ BluetoothcrtLite.dll ในช่องค้นหา - คลิกขวา Startup key ที่ไฮไลท์ > Delete ลบออก กด Find Next หาต่อ ลบทุก Entry ที่ Match
- ปิด Autoruns Restart คอมพิวเตอร์
หายังเจอ RunDLL startup error ไป วิธีที่ 3 (ทำด้วยตนเอง)
วิธีที่ 3: ลบ Startup RunDLL Error ด้วยตนเอง (Manual)
หาวิธี 1-2 ไม่ได้ ต้องทำเองผ่าน msconfig แต่ไม่ยากนัก
จะเริ่มจากลบ Registry entries ทั้งหมดผ่าน Registry Editor แล้วเปิด Task Scheduled ปิด Task ที่เรียก DLL ที่หายไป
คำแนะนำครบ:
- กด Windows + R พิมพ์ regedit Enter เปิด Registry Editor

- ใน Registry Editor กด Ctrl + F ค้นหา พิมพ์ชื่อไฟล์ใน Error RunDLL คลิก Find Next
หมายเหตุ: การสแกนจะใช้เวลาสักพัก - สแกนเสร็จ ลบ Registry entries ทั้งหมดที่เกี่ยวกับ DLL ที่หายไป ปิด Registry Editor

- Win+R อีกครั้ง พิมพ์ taskschd.msc Enter เปิด Task Scheduler

- ใน Task Scheduler คลิก Task Scheduler Library เลื่อนดู Center panel หา Entry ที่ Match ไฟล์ใน RunDLL error message เจอแล้ว คลิกขวา > Disable ปิด Process แล้วปิด Task Scheduler ได้เลย

- Reboot ดูว่าการแก้ไขลบ RunDLL error ได้หรือไม่
- หายังไม่ได้ ลอง SFC scan จะแทนที่ Registry entries ที่หายไป
วิธีที่ 4: ล้าง Temporary Files
บางกรณี Temporary files ใน App Data folder อาจขวาง RunDLL ทำงานไม่ได้ ขั้นตอนนี้ล้าง Temporary files:
- กด Windows + R เปิด Run Prompt

- พิมพ์ Address นี้ Enter:
C:\Users\*Your Username*\AppData\Local\Temp
- กด Ctrl + A แล้ว Shift + Delete ลบไฟล์ทั้งหมด
- ตรวจสอบว่าปัญหาหายหรือไม่
เพิ่มเติม ลอง Repair Install ดูว่าแก้ไขได้ไหม หายังไม่ได้ ทำ Clean Install