Regsvr32: מה זה & כיצד לרשום קובצי DLL

תוכן עניינים:

Regsvr32: מה זה & כיצד לרשום קובצי DLL
Regsvr32: מה זה & כיצד לרשום קובצי DLL
Anonim

מה צריך לדעת

  • כדי לרשום קובץ DLL myfile.dll, הזן regsvr32 myfile.dll, וכדי לבטל את הרישום שלו, הקלד r egsvr32 /u myfile.dllלתוך שורת הפקודה.
  • אם אתה מקבל שגיאה בעת ניסיון לרשום קובץ DLL, ייתכן שאין לך את ההרשאות הנכונות או שהקובץ נחסם.
  • שגיאות אחרות עשויות להיות עקב תלות חסרה; אם כן, השתמש ב-Dependency Walker כדי לראות את כל התלות שקובץ ה-DLL דורש.

מאמר זה מסביר כיצד להשתמש בכלי שורת הפקודה regsvr32 ב-Windows וכיצד לתקן כמה שגיאות regsvr32. Regsvr32 משמש לרישום וביטול רישום של פקדי קישור והטמעת אובייקטים (OLE), כמו קבצי DLL ופקד ActiveX.קבצי OCX. ייתכן שתצטרך לרשום קובץ DLL אם אתה רואה שגיאת DLL במחשב שלך.

איך לרשום ולבטל רישום של קובץ DLL

אם ההפניות ברישום של Windows המתייחסות לקובץ ה-DLL יוסרו או נפגמו איכשהו, תוכניות שצריכות להשתמש בקובץ ה-DLL הזה עשויות להפסיק לעבוד. זה כאשר השיוך הזה עם הרישום נשבר, יש לרשום קובץ DLL.

רישום קובץ DLL מתבצע בדרך כלל על ידי התקנה מחדש של התוכנית שרשמה אותו מלכתחילה. עם זאת, לפעמים, ייתכן שיהיה עליך לרשום את קובץ ה-DLL בעצמך באופן ידני באמצעות שורת הפקודה.

עיין במדריך שלנו כיצד לפתוח שורת פקודה אם אינך בטוח כיצד למצוא אותה.

זו הדרך הנכונה לבנות פקודת regsvr32:


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

לדוגמה, תזין את הפקודה הראשונה הזו כדי לרשום קובץ DLL בשם myfile.dll, או את השנייה כדי לבטל את הרישום שלו:


regsvr32 myfile.dll

regsvr32 /u myfile.dll

Image
Image

לא ניתן לרשום את כל קובצי ה-DLL רק על ידי הזנת הפקודה למעלה בשורת הפקודה. ייתכן שיהיה עליך לסגור תחילה את השירות או התוכנית שמשתמשים בקובץ.

איך לתקן שגיאות Regsvr32 נפוצות

הנה שגיאה אחת שאתה עשוי לראות בעת ניסיון לרשום קובץ DLL:


המודול נטען אך הקריאה ל-DllRegisterServer נכשלה עם קוד שגיאה 0x80070005.

זו בדרך כלל בעיית הרשאה. אם הפעלת שורת פקודה מוגבהת עדיין לא מאפשרת לך לרשום את קובץ ה-DLL, ייתכן שהקובץ עצמו חסום. בדוק את סעיף האבטחה של הכרטיסייה כללי בחלון המאפיינים של הקובץ.

בעיה אפשרית נוספת יכולה להיות שאין לך את ההרשאות הנכונות להשתמש בקובץ.

הודעת שגיאה דומה מנוסחת כמו זו למטה. שגיאה זו פירושה בדרך כלל שה-DLL אינו בשימוש כ-COM DLL עבור אף יישום במחשב, מה שאומר שאין צורך לרשום אותו.


המודול נטען אך נקודת הכניסה DllRegisterServer לא נמצא.

הנה הודעת שגיאה נוספת של regsvr32:


טעינת המודול נכשלה. ודא שהקובץ הבינארי מאוחסן בנתיב שצוין או נפה בו באגים כדי לבדוק אם יש בעיות בקבצי ה-DLL הבינאריים או התלויים. המודול שצוין לא נמצא.

Image
Image

השגיאה הספציפית הזו עשויה להיות עקב תלות חסרה, ובמקרה זה אתה יכול להשתמש ב-Dependency Walker כדי לראות רשימה של כל התלות שקובץ ה-DLL דורש, שכן ייתכן שחסרה אחת שאתה צריך כדי לקבל כדי שה-DLL יירשם כראוי.

כמו כן, ודא שהנתיב לקובץ ה-DLL מאוית נכון. התחביר של הפקודה חשוב מאוד; עלולה להופיע שגיאה אם היא לא מוזנת כהלכה.

ייתכן שחלק מקובצי DLL יצטרכו להיות מוקפים במירכאות כמו זה:


"C:\Users\Admin User\Programs\myfile.dll"

היכן מאוחסן Regsvr32.exe?

גרסאות 32 סיביות של Windows (XP ומעלה) הוסיפו את הכלי Microsoft Register Server לתיקיה זו כאשר Windows מותקן לראשונה: %systemroot%\System32\.

גרסאות 64 סיביות של Windows מאחסנות את קובץ regsvr32.exe לא רק שם, אלא גם כאן: %systemroot%\SysWoW64\.

מוּמלָץ: