DistributedCOM Error 10016 เป็นปัญหา Windows พบบนทุก Windows ตั้งแต่ XP Error นี้ไม่ทำให้ระบบ Crash ทันที ไม่ได้ Blue Screen of Death จริงๆ แล้ว DCOM Error 10016 เป็น Benign (ไม่เป็นอันตราย)
แต่ไม่ได้หมายความว่าแก้ไม่ได้ มาวิธีแก้ DCOM Error 10016 บน Windows 10 กัน
DistributedCOM คืออะไร?
ก่อนอื่น DistributedCOM คืออะไร ทำไมถึง Error?
Distributed Component Object Model (DCOM) = ส่วนสำคัญของ Network Communication บน Windows เทคโนโลยี Microsoft เอง ทำงานทุกครั้งที่ Application ทำ Connection ไป Internet COM แบบเดิมเข้าถึงข้อมูลเครื่องเดียวกัน DCOM เข้าถึงข้อมูล Remote Server ได้
ตัวอย่าง: เว็บไซต์/บริการหลายอย่างใช้ Script เข้าถึง Remote Server ระบบ Request ผ่าน Script/อื่นๆ DCOM ส่ง Request ไป Script Object เฉพาะ ดูได้ว่า DCOM ทำงานบ่อยมากในยุคนี้
DCOM Error เกิดเมื่อ App/Service พยายามใช้ DCOM แตไม่มี Permission ที่เหมาะสม ส่วนใหญ่ DCOM Error ไม่งกระทบระบบ แค่ทำให้ Event Viewer แออัด ผู้ใช้ Windows 10 ส่วนใหญ่ไม่เช็ค Event Viewer บ่อย DCOM Error จึงไม่ต้องกังวล แตระบบไม่มี Error ดีกว่า
1. แก้ Registry เพื่อ Fix DCOM Error 10016
ทางแรก: Windows Registry Registry Tweak เรียบง่าย บางครั้งแก้ DCOM Error 10016 ทันที
ก่อนแก้ Registry แนะนำ Backup
พิมพ์ registry ใน Start Menu เลือก Best Match File > Export Export Range = All Save Registry ไว้ที่สะดวก วิธีนี้ไม่ทำลายคอมพิวเตอร์ แต Backup เผื่อ Error ไม่คาดคิด
ลองแก้:
- พิมพ์ registry ใน Start Menu เลือก Best Match
- ไปที่ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole (Copy/Paste ใน Address Bar ได้)
- ลบ Registry Keys 4 ตัวนี้:
DefaultAccessPermissionDefaultLaunchPermissionMachineAccessRestrictionMachineLaunchRestriction - ปิด Registry Editor Reboot ระบบ
ระบบควรไม่มี DCOM Error 10016 แล้ว
2. เปิด DCOM Permissions สำหรับ Error เฉพาะ
หาข้างต้นไม่ได้ มี Workaround ยาวกว่า แตหากหลาย App ให้ DCOM Error ต้องทำซ้ำหลายรอบ
DCOM Error 10016 ใน Event Viewer มี Info: CLSID (Class ID) และ APPID (Application ID) ระบุ App/Process ที่เป็นต้นเหตุ
พิมพ์ event viewer ใน Start Menu เลือก Best Match ไป Windows Logs > System หา DCOM Error 10016 ล่าสุด Double-click ขยาย
Tab General อธิบายเหตุผล 10016 แสดง CLSID และ APPID สตริงดูสุ่ม แตใช้ระบุ App/Service ที่เป็น Root Cause ได้
หา CLSID และ APPID ใน Registry Editor
Highlight CLSID ใน Event Viewer > Ctrl+C Copy เปิด Registry Editor ค้นหา:
HKEY_CLASSES_ROOT\CLSID\{Paste Your CLSID Here}
ตัวอย่าง: HKEY_CLASSES_ROOT\CLSID\{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54} Copy/Paste Address Bar ได้
Cross-reference APPID จาก Error Message กับ AppID ใต้ CLSID
กรณีตัวอย่าง: DCOM Error 10016 มาจาก Runtime Broker (สาเหตุพบบ่อยที่สุด)
แก้ไข CLSID Permissions
ในรายการ Registry ด้านซ้าย คลิกขวา CLSID ที่เกี่ยวข้อง > Permission > Advanced แก้ Permissions ของ Service (แก้ File Permissions แก้ปัญหา Windows 10 อื่นได้ด้วย)
Highlight Administrators > Edit สลับ Basic Permissions ให้มี Full Control > OK > Apply > OK
รีสตาร์ทระบบ
รีสตาร์ทเสร็จ พิมพ์ Component Services ใน Start Menu เลือก Best Match ไป Computers > My Computer > DCOM Config
จะเห็นรายการ Service ที่ใช้ DCOM ยาวมาย หา Service จากชื่อและ APPID คลิกขวา > Properties > Security
ใต้ Launch and Activation Permissions > Edit > Add > Add a Local Service > Apply ติ๊ก Local Activation > OK Reboot อีกครั้ง
เสร็จแล้ว!
หมายเหตุ: หากมีหลายสาเหตุ 10016 ต้องทำซ้ำทุกคู่ CSLID/APPID
DCOM Error 10016 แก้แล้ว
หวังว่าแก้ Distributed COM 10016 ได้ ต้องเน้น: DCOM 10016 ไม่น่าจะส่งผลต่อประสิทธิภาพระบบ ตอนแรก Microsoft เพิ่ม "Distributed" เข้า COM มี Vulnerabilities แต Patch แล้ว DCOM ปลอดภัยตอนนี้
DCOM Error 10016 ไม่ใช่ Error เดียวที่ Windows 10 โยนออกมา แตไม่ต้องตื่นตระหนก มีวิธีแก้เยอะมาก