ปัญหาเกิดเมื่อรันคำสั่ง regsvr32 บน Windows Vista Home Premium (32-bit) ข้อผิดพลาด:
<DLL file> was loaded but the call to DllRegisterServer failed with error code 0x80070005
สาเหตุ: สิทธิ์ Admin จำกัด ต้องมีสิทธิ์ Admin เพื่อรัน regsvr32 สำเร็จ แก้ได้โดยรันคำสั่งด้วยสิทธิ์ Admin
วิธีที่ 1: รัน CMD เป็น Administrator
- กด Windows Key
- พิมพ์ cmd ใน Search อย่ากด Enter
- หา CMD ในรายการ > คลิกขวา > Run as Administrator > Continue
- พิมพ์ regsvr32 "file path" (แทนที่ file path จริง ไม่ต้องมีเครื่องหมายคำพูด)
ควรสำเร็จ ถ้ามี Error ตรวจสอบ File Path ให้ถูกต้องครบถ้วน
วิธีที่ 2: ปิด User Account Control (UAC)
ปิด UAC บ้างครั้งแก้ปัญหาได้ ระบบจะไม่ถามยืนยันสิทธิ์ Admin
คำเตือน: ปิด UAC ทำให้ระบบอ่อนแอต่อโจมตี ควรเปิดกลับหลังจดทะเบียนเสร็จ
- Start > พิมพ์ cmd > คลิกขวา cmd > Run as administrator
- ปิด UAC: คัดลอกวางคำสั่งใน CMD กด Enter:
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f - เปิด UAC (หลังเสร็จ):
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f - Restart PC > รัน regsvr32 ตามวิธีที่ 1 ควรสำเร็จ
วิธีที่ 3: ปิด Antivirus ชั่วคราว
บางครั้งมีสิทธิ์ Admin แล้วแต่ยัง Error เพราะ Antivirus ขัดจังหวะการจดทะเบียน
- Double-click ไอคอน Antivirus มุมขวาล่าง
- หาตัวเลือก Disable (มักมี 10/20/30 นาที จะ Enable เองอัตโนมัติ)
- เลือกเวลาที่เหมาะสม
ลองรัน regsvr32 ใหม่ด้วยสิทธิ์ Admin ถ้า Antivirus ปิดแล้ว สำคัญ: เปิด Antivirus กลับทันทีหลังแก้ไขเสร็จ