DllRegisterServer ล้มเหลวด้วย 0x80070005 แม้จะเปิด cmd ในฐานะผู้ดูแลระบบก็ตาม


12

รหัสข้อผิดพลาดนี้ควรจะหมายถึง 'การเข้าถึงถูกปฏิเสธ' และโซลูชันที่ให้ทุกที่บนเน็ต (เช่น/programming/3808954/dllunregisterserver-failed-with-error-code-0x80070005 ) cmd พร้อมสิทธิ์ของผู้ดูแลระบบ อย่างไรก็ตามในกรณีของฉันข้อผิดพลาดเดียวกันเกิดขึ้นแม้ใน cmd ที่เปิดด้วยสิทธิ์ผู้ดูแลระบบ (ทดสอบด้วยคำตอบใน/programming/7985755/how-to-detect-if-cmd-is-running-) ผู้ดูแลระบบมีสิทธิ์ยกระดับ )

ทั้งสอง

regsvr32.exe "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

และ

 C:\windows\SysWOW64\regsvr32.exe  "C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll"

ล้มเหลวด้วยข้อความแสดงข้อผิดพลาดเดียวกันว่าโมดูลที่กำหนดได้รับการโหลด แต่การเรียกไปที่ DllRegisterServer ล้มเหลวด้วยรหัส 0x80070005

ผมพยายามที่จะตรวจสอบการเข้าถึงรีจิสทรีตามที่กำหนดในhttp://www.cryer.co.uk/brian/windows/troubleshooting/nt4_dllregisterserver_in_com_failed_0x80070005.htmแต่ไม่มีACCESS DENIEDหรือACCDENIEDผลที่ทุกคนในรายการผลลัพธ์

แก้ไข: ฉันได้ลองแล้ว

runas /user:Administrator "regsvr32.exe \"C:\Program Files (x86)\GitExtensions\GitExtensionsShellEx64.dll\""

จากภายใน cmd ที่ตัวเองทำงานเป็นผู้ดูแลระบบ แต่นั่นก็ส่งผลให้เกิดข้อผิดพลาดเดียวกัน!


หากคุณย้ายไฟล์ไปยังโฟลเดอร์ที่ไม่มีการป้องกันจะใช้งานได้หรือไม่
Ramhound

@Ramhound น่าเสียดายใช่เกิดขึ้นทุกที่ที่ฉันใส่ไฟล์ dll
sundar - Reinstate Monica

ใช้ ProcessMonitor แทน regMon เพื่อตรวจสอบกิจกรรม
magicandre1981

@ magicandre1981 ใช่ฉันอ่านว่าเร็กมอนถูกรวมเข้ากับ procmon ดังนั้นนั่นคือสิ่งที่ฉันใช้ ฉันสร้างตัวกรองเพื่อสังเกตเฉพาะ regsvr32.exe เพื่อกรองสัญญาณรบกวน (ตัน) และทำให้มันแสดงเฉพาะการเปลี่ยนแปลงรีจิสทรี มีความสำเร็จมากมายแทนที่และไม่พบผลลัพธ์ แต่ไม่มีการเข้าถึงถูกปฏิเสธ
sundar - Reinstate Monica

คำตอบ:


11

เรียกใช้regsvr32คำสั่งจากพรอมต์คำสั่งที่ยกระดับ

เลือกStart > All Programs > Accessories', then right-clickCommand Prompt and selectRun as administrator` จากเมนูบริบท ในที่สุดพิมพ์คำสั่ง


4
และหากข้อผิดพลาดยังคงมีอยู่ ... ?
bigp

@bigp อาจจะมีการลบรายการในรีจิสตรีไปแล้วหรืออย่างใดอย่างหนึ่งที่ผิดพลาด
serup

0

ข้อผิดพลาด0x80070005หมายถึงการอนุญาตถูกปฏิเสธไม่ให้เข้าถึงโฟลเดอร์หรือไฟล์ (โดยปกติคือไฟล์แคช)

ไปที่/Users/Public/Application Data/Package Cacheโฟลเดอร์และตรวจสอบให้แน่ใจว่าโฟลเดอร์ที่มีสิทธิ์ที่เหมาะสมมิฉะนั้นลบพวกเขาและเรียกใช้อีกครั้ง

เหมือนกันเมื่อใช้wineเช่น

chmod -v 755 ~/".wine/drive_c/users/Public/Application Data/Package Cache"/*

มิฉะนั้นตรวจสอบไฟล์บันทึกสำหรับรายละเอียด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.