ข้อผิดพลาดนี้มักเกิดขึ้นบนคอมพิวเตอร์ที่รัน Windows โดยเฉพาะ Windows 7 และ Windows Server 2008 แต่อาจเกิดขึ้นกับระบบปฏิบัติการใดๆ ก็ได้ ข้อผิดพลาดมักปรากฏเมื่อพยายามเปิด Event Viewer, Task Scheduler หรือ Group Policy Editor
ไม่มีวิธีแก้ที่ใช้ได้ทุกกรณี คุณอาจต้องลองทุกวิธีที่ผู้ใช้รายงานว่าทำงานได้ โปรดทราบว่าไม่ใช่ทุกวิธีแก้ที่เกี่ยวข้องกับระบบปฏิบัติการเดียวกัน โชคดีนะครับ!
วิธีแก้ที่ 1: ปัญหา Visual C++
บางคนติดต่อ Microsoft เกี่ยวกับปัญหานี้ และพบว่าต้องทำหลายขั้นตอน ปัญหาอาจหายไปหลังจากขั้นตอนแรกๆ ดังนั้นให้ตรวจสอบว่ายังเกิดข้อผิดพลาดหรือไม่
ขั้นแรก ต้องติดตั้ง Visual C++ Redistributable Package ใหม่ เพราะเป็นสาเหตุหลักของปัญหานี้ Microsoft อธิบายว่าปัญหาเกิดจาก Visual C++ คืนค่า pointer ที่ผิดปกติ
- เปิด Control Panel (ค้นหาจาก Start หรือคลิกไอคอนเฟืองเพื่อเปิด Settings ใน Windows 10)
- ใน Control Panel เลือก View as: Category คลิก Uninstall a Program ภายใต้ Programs

- ใน Settings ของ Windows 10 คลิก Apps จะแสดงโปรแกรมที่ติดตั้งทั้งหมด
- ค้นหา Microsoft Visual C++ Redistributable Package คลิก Uninstall อาจมีหลายรุ่น ให้บันทึกรุ่นไว้และ Uninstall ทุกรุ่น อาจต้องยืนยันกล่องโต้ตอบและทำตาม Wizard
- คลิก Finish เมื่อ Uninstall เสร็จ ทำซ้ำทุกรุ่น จากนั้นติดตั้งใหม่โดยดาวน์โหลดจากที่นี่ เลือกรุ่นและสถาปัตยกรรม (32-bit หรือ 64-bit) ที่ตรงกับ CPU
- หาไฟล์ที่ดาวน์โหลด รันและติดตั้งตามขั้นตอน ทำซ้ำทุกรุ่นที่ Uninstall ไป ตรวจสอบว่าข้อผิดพลาดหายหรือยัง
หากปัญหายังคงอยู่ ลองอัปเดต Windows ให้เป็นเวอร์ชันล่าสุด Windows 10 จะดาวน์โหลดและติดตั้งอัปเดตอัตโนมัติ เวอร์ชันเก่ากว่าต้องทำเอง:
- กด Windows + X เลือก Windows PowerShell (Admin)

- ใน PowerShell พิมพ์ cmd รอให้สลับสภาพแวดล้อม
- ในคอนโซล "cmd" พิมพ์คำสั่งนี้แล้วกด Enter:
wuauclt.exe /updatenow
- รอคำสั่งทำงานอย่างน้อย 1 ชั่วโมง ตรวจสอบว่ามีอัปเดตหรือติดตั้งสำเร็จหรือไม่
วิธีแก้ที่ 2: ติดตั้ง .NET Framework เวอร์ชันล่าสุด
หากมี .NET Framework เก่าและพยายามรันแอปที่ต้องการเวอร์ชันใหม่ ข้อผิดพลาดนี้จะเกิดขึ้น ต้องอัปเดต .NET Framework ให้ครบ เวอร์ชันล่าสุดแตกต่างกันไปตาม OS โปรดเลือกให้เหมาะสม
ไปที่ลิงก์นี้ คลิกปุ่มดาวน์โหลดสีแดงเพื่อดาวน์โหลด .NET Framework ล่าสุด หลังดาวน์โหลดเสร็จ รันไฟล์และทำตามขั้นตอน (ต้องมีอินเทอร์เน็ต)
- หลังติดตั้งแล้ว ตรวจสอบความสมบูรณ์: กด Windows + R เปิด Run
- พิมพ์ Control Panel กด OK

- คลิก Uninstall a Program > Turn Windows features on or off หา .NET Framework 4.6.1 ให้เปิดใช้งาน
- ถ้าติ๊กไม่ได้ ให้ติ๊ก แล้ว OK และรีบูท

- ถ้าเปิดอยู่แล้ว ลอง Repair โดยเอาติ๊กออก รีบูท แล้วค่อยติ๊กกลับไป รีบูทอีกครั้ง
วิธีแก้ที่ 3: คัดลอกโฟลเดอร์จากระบบที่ทำงานปกติ
หากปัญหาเกี่ยวข้องกับโฟลเดอร์ที่ผิดปกติ สามารถแก้ได้โดยคัดลอกโฟลเดอร์จากระบบอื่นที่ไม่มีปัญหา ต้องหาระบบที่เหมือนกัน หรือค้นหาจาก Google
- หาโฟลเดอร์นี้ในระบบที่ปกติ คัดลอกทั้งโฟลเดอร์ไป USB ให้จดชื่อเวอร์ชัน (ตัว x ในพาธ)
C:\Windows\Microsoft.NET\Framework64\vxxxxx

- บนเครื่องที่มีปัญหา แทนที่โฟลเดอร์ ต้อง Take Ownership ก่อน
- Right-click ไฟล์ > Properties > Security tab > Advanced > เปลี่ยน Owner
- คลิก Change ถัดจาก "Owner:" > เลือกผู้ใช้หรือพิมพ์ชื่อบัญชี > OK เพิ่ม Administrator
- ถ้าต้องการเปลี่ยน Owner ของซับโฟลเดอร์/ไฟล์ภายใน เลือก "Replace owner on subcontainers and objects" > OK
- แทนที่โฟลเดอร์ ตรวจสอบว่าข้อผิดพลาดหายหรือยัง
วิธีแก้ที่ 4: ลบ Registry Key บางตัว
Registry Key นี้เกี่ยวข้องกับแก่นของปัญหา หากเสียหายจะทำให้ข้อผิดพลาดเกิดบ่อย แก้ได้โดยลบ Key นี้
ก่อนดำเนินการ: ปิดโปรแกรมทั้งหมด และควรสำรอง Registry ก่อน (ดูวิธีในบทความของเรา)
- เปิด Registry Editor (พิมพ์ regedit ใน Search หรือ Run) ไปที่ Key นี้:
HKEY_LOCAL_MACHINE >> Software >> Microsoft >> MMC >> SnapIns >> Fx >> {b05566ad-fe9c-4363-BE05-7a4cbb7cb510}

- ลบ Key นี้ (Right-click ที่ path tree ด้านขวา) ยืนยันการลบ รีสตาร์ทแล้วตรวจสอบ
วิธีแก้ที่ 5: เปลี่ยนชื่อไฟล์ mmc.exe ใน System32
แค่เปลี่ยนชื่อไฟล์ใน System32 ก็อาจแก้ปัญหาได้ แต่ไม่ได้ทุกครั้ง ถ้าทำงานถือว่าถือโชคดี วิธีนี้ง่ายและย้อนกลับได้
- ไปที่ C:\Windows\System32 ใน File Explorer

- หา mmc.exe Right-click > Rename เป็น mmc.exe.old ถ้าขอ Admin ให้ยืนยัน
- ตรวจสอบว่าปัญหาแก้ไขหรือยัง