Regsvr32: อะไรคือ & วิธีการลงทะเบียน DLLs

วิธีการลงทะเบียนและยกเลิกการลงทะเบียนไฟล์ DLL ด้วย Regsvr32.exe

Regsvr32 เป็นเครื่องมือ บรรทัดคำสั่ง ใน Windows ที่ย่อมาจาก Microsoft Register Server ใช้เพื่อลงทะเบียนและถอนการทำคอนโทรลการเชื่อมโยงและการฝังวัตถุ (.) และ ไฟล์ ActiveX Control .OCX

เมื่อ regsvr32 ลงทะเบียน ไฟล์ DLL ข้อมูลเกี่ยวกับไฟล์โปรแกรมที่เกี่ยวข้องจะถูกเพิ่มลงใน Windows Registry เป็นข้อมูลอ้างอิงที่โปรแกรมอื่น ๆ สามารถเข้าถึงได้ในรีจิสทรีเพื่อทำความเข้าใจว่าข้อมูลของโปรแกรมอยู่ที่ไหนและจะโต้ตอบกับข้อมูลนั้นได้อย่างไร

คุณอาจต้องลงทะเบียนไฟล์ DLL ถ้าคุณเห็น ข้อผิดพลาด DLL ในคอมพิวเตอร์ของคุณ เราอธิบายวิธีการทำที่ด้านล่าง

วิธีการลงทะเบียนและยกเลิกการลงทะเบียนไฟล์ DLL

ถ้าการอ้างอิงในรีจิสทรีของ Windows ที่อ้างถึงไฟล์ DLL ถูกลบออกหรือเสียหายโปรแกรมที่ต้องใช้ไฟล์ DLL นั้นอาจหยุดทำงาน ก็เมื่อความสัมพันธ์กับรีจิสทรีนี้เสียว่าไฟล์ DLL ควรลงทะเบียน

การลงทะเบียนไฟล์ DLL ทำได้โดยการ ติดตั้งโปรแกรม ที่ลงทะเบียนไว้เป็นครั้งแรก อย่างไรก็ตามบางครั้งคุณอาจต้องลงทะเบียนไฟล์ DLL เองด้วยตนเองผ่านทาง Command Prompt

คำแนะนำ: ดู วิธีการเปิด Command Prompt หากคุณไม่แน่ใจว่าจะหาได้อย่างไร

นี่เป็นวิธีที่ถูกต้องในการจัดโครงสร้าง คำสั่ง regsvr32:

regsvr32 [/ u] [/ n] [/ i [: cmdline]]

ตัวอย่างเช่นคุณต้องการป้อนคำสั่งแรกนี้เพื่อลงทะเบียนไฟล์ DLL ชื่อ myfile.dll หรือที่สองเพื่อยกเลิกการลงทะเบียน:

regsvr32 myfile.dll regsvr32 / u myfile.dll

พารามิเตอร์อื่น ๆ ที่คุณสามารถใช้กับ regsvr32 สามารถดูได้จากหน้า Regsvr32 ของ Microsoft

หมายเหตุ: DLL ทั้งหมดไม่สามารถลงทะเบียนได้โดยการป้อนคำสั่งข้างต้นลงใน Command Prompt คุณอาจต้องปิดบริการหรือโปรแกรมที่ใช้ไฟล์ก่อน

วิธีการแก้ไขข้อผิดพลาดทั่วไป Regsvr32

นี่เป็นข้อผิดพลาดที่คุณอาจพบเมื่อพยายามลงทะเบียนไฟล์ DLL:

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

ซึ่งโดยปกติจะเป็นปัญหาเรื่องสิทธิ์ หาก ใช้ Command Prompt ระดับสูง ยังคงไม่อนุญาตให้คุณลงทะเบียนไฟล์ DLL ไฟล์อาจถูกบล็อก ตรวจสอบส่วน ความปลอดภัย ของแท็บ General ในหน้าต่าง Properties ของไฟล์

อีกปัญหาหนึ่งที่อาจเกิดขึ้นคือคุณไม่มีสิทธิ์ที่ถูกต้องในการใช้ไฟล์

ข้อความแสดงข้อผิดพลาดที่คล้ายคลึงกันจะมีข้อความเหมือนข้อความด้านล่าง ข้อผิดพลาดนี้มักจะหมายความว่า DLL ไม่ได้ถูกใช้เป็น COM DLL สำหรับแอพพลิเคชันใด ๆ ในเครื่องคอมพิวเตอร์ซึ่งหมายความว่าไม่จำเป็นต้องลงทะเบียน

โมดูลถูกโหลด แต่ไม่พบ DllRegisterServer จุดเข้า

นี่คือข้อความแสดงข้อผิดพลาด regsvr32 อื่น:

ไม่สามารถโหลดโมดูลได้ ตรวจสอบให้แน่ใจว่าไบนารีถูกเก็บไว้ที่เส้นทางที่ระบุหรือดีบักเพื่อตรวจสอบปัญหาเกี่ยวกับไฟล์ไบนารีหรือ. Dll ที่ขึ้นอยู่

ข้อผิดพลาดดังกล่าวอาจเกิดจากการพึ่งพาที่ขาดหายไปซึ่งในกรณีนี้คุณสามารถใช้เครื่องมือ Dependency Walker เพื่อดูรายการการอ้างอิงทั้งหมดที่ไฟล์ DLL ต้องการ - อาจขาดหายไปซึ่งคุณต้องมีเพื่อให้ DLL ไป ลงทะเบียนอย่างถูกต้อง

นอกจากนี้ตรวจสอบให้แน่ใจว่าเส้นทางไปยังแฟ้ม DLL สะกดถูกต้อง ไวยากรณ์ ของคำสั่งมีความสำคัญมาก อาจมีข้อผิดพลาดเกิดขึ้นหากไม่ได้ป้อนอย่างถูกต้อง ไฟล์ DLL บางไฟล์อาจต้องมีตำแหน่งอยู่ล้อมรอบด้วยคำพูดเช่น "C: \ Users \ Admin User \ Programs \ myfile.dll"

ดูส่วน "Regsvr32 Error Messages" ของบทความ Microsoft Support นี้สำหรับข้อความแสดงข้อผิดพลาดบางอย่างและคำอธิบายสำหรับสิ่งที่ทำให้เกิดข้อผิดพลาดเหล่านี้

Regsvr32.exe อยู่ที่ไหน?

Windows รุ่น 32 บิต (XP และใหม่กว่า) ให้เพิ่มเครื่องมือ Microsoft Register Server ลงในโฟลเดอร์ % systemroot% \ System32 \ เมื่อติดตั้ง Windows เป็นครั้งแรก

Windows รุ่น 64 บิตเก็บแฟ้ม regsvr32.exe ไม่เพียง แต่มีอยู่ใน % systemroot% \ SysWoW64 \