כיצד להשתמש בכלי Regsvr32 ולפתור הודעות שגיאה של Regsvr32

אם מאמר זה לא מתאר את הודעת השגיאה שבה נתקלת, תוכל למצוא הסברים מפורטים של הודעות שגיאה, פעולות מומלצות ומשאבי תמיכה נוספים בדף האירועים ושגיאות של TechNet. 

סיכום

Regsvr32 הוא תוכנית שירות של שורת פקודה לרישום וביטולי רישום של פקדי OLE, כגון קבצי DLL ופקדי ActiveX ברישום של Windows. Regsvr32.exe מותקן בתיקיה %systemroot%\System32 ב- Windows XP וגירסאות חדשות יותר של Windows.


הערה בגרסת 64 סיביות של מערכת הפעלה Windows, יש שתי גרסאות של הקובץ Regsv32.exe:

  • גירשת 64 סיביות היא %system root%\System32\regsvr32.exe.

  • גירסת 32 סיביות היא %systemroot%\SysWoW64\regsvr32.exe.

התחביר של פקודת Regsvr32

RegSvr32.exe כולל את אפשרויות שורת הפקודה הבאות:

Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

‎/u - הסר רישום שרת

‎/i - קרא ל-DllInstall תוך העברת [cmdline] אופציונלי; בעת שימוש עם ‎/u מתבצעת קריאה להסרת התקנה של dll
‎/n - אל תקרא ל-DllRegisterServer; יש להשתמש באפשרות זו עם ‎/i

/s – שקט; אל תציג תיבות הודעה

פתרונות נפוצים לשגיאות Regsvr32

נסה אחת מהשיטות הבאות כאשר אתה נתקל בשגיאת Regsvr32:

  • שיטה 1: הקלד שוב את פקודת Regsvr32 משורת פקודה עם הרשאות מלאות:כדי להפעיל שורת פקודה עם הרשאות מלאות, בצע את השלבים הבאים:

    Windows 8.1 ו-Windows 8החלק מהקצה השמאלי של המסך והקש על חיפוש. לחלופין, אם אתה משתמש בעכבר, הצבע על הפינה השמאלית התחתונה של המסך, ולחץ על חיפוש. הקלד Command Prompt בתיבת חיפוש, לחץ באמצעות לחצן העכבר הימני על Command Prompt ולאחר מכן לחץ על הפעל כמנהל מערכת. אם תתבקש לספק סיסמת מנהל או אישור, הקלד את הסיסמה או לחץ על אפשר.

    Windows 7 ו- Windows Vistaלשם כך, לחץ על התחל, הקלד Command Prompt או cmd בתיבה חיפוש, לחץ באמצעות לחצן העכבר הימני על Command Prompt ולאחר מכן לחץ על הפעל כמנהל מערכת. אם תתבקש לספק סיסמת מנהל או אישור, הקלד את הסיסמה או לחץ על אפשר.

    Windows XPהיכנס באמצעות חשבון מנהל מערכת או חשבון בעל הרשאות מנהל מערכת ולאחר מכן פתח חלון שורת פקודה.

  • שיטה 2: השתמש בגרסת 32 סיביות של Regsvr32 כדי לרשום קובץ DLL של 32 סיביות בגירסת 64 סיביות של Windowsאם מתקבלת שגיאה בעת רישום קובץ DLL של 32 סיביות בגירסת 64 סיביות של Windows, בצע את הפעולות הבאות:

    1. פתח שורת פקודה עם הרשאות מלאות.

    2. אם ה- DLL בגירסת 32 סיביות נמצא בתיקיה %systemroot%\System32, העבר אותו לתיקיה %systemroot%\SysWoW64.

    3. הפעל את הפקודה הבאה:

      %systemroot%\SysWoW64\regsvr32 <full path of the DLL>

הודעות שגיאה של Regsvr32

הרשימה הבאה מכילה הודעות שגיאה של RegSvr32 יחד עם סיבות אפשריות:

הודעת השגיאה:

סיבה

דגל הפקודה ""%1"" אינו חוקי. נא סקור את השימוש בפקודה ונסה שוב.

שילוב לא חוקי של אפשרויות הועבר בשורת הפקודה אל regsvr32.exe.

‏‏פקודה זו חוקית רק אם פרויקט OLE Activex Control של Microsoft Visual Studio פתוח.

Regsvr32.exe הופעל על-ידי Visual Studio אך לא צוינו מודולים בשורת הפקודה.

‏‏כדי לרשום מודול, עליך לספק שם בינארי.

Regsvr32.exe הופעל בלי לציין מודולים בשורת הפקודה.

הפעלת הפקודה OleInitialize נכשלה. ייתכן שאין די זיכרון במחשב שלך. סגור תוכניות פתוחות ולאחר מכן נסה שוב.

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

‏‏טעינת המודול ""%1"" נכשלה.\n\n ודא שהרכיב הבינארי מאוחסן בנתיב שצוין או בצע בו איתור באגים כדי לבדוק אם קיימות בעיות ברכיב הבינארי או בקבצי ‎.DLL תלויים.\n\n%2.

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

המודול ""%1"" נטען אך נקודת הכניסה %2 לא נמצאה.\n\nודא ש- ""%1"" הוא קובץ DLL או OCX חוקי ולאחר מכן נסה שוב.

ל- Regsvr32.exe לא היתה אפשרות לאתר את נקודת הכניסה הדרושה במודול שצוין בשורת הפקודה. מצב זה יכול להתרחש אם נקודות הכניסה לא מיוצאות כראוי מהמודול, אם המודול אינו קובץ ‎.DLL או קובץ ‎.OCX

המודול ""%1"" נטען אך הקריאה אל %2 נכשלה עם קוד השגיאה %3.\n\nלקבלת מידע נוסף אודות בעיה זו, בצע חיפוש באינטרנט תוך שימוש בקוד השגיאה כמונח חיפוש.

אירעה שגיאה כאשר regsvr32.exe הפעיל את נקודת הכניסה במודול שצוין בשורת הפקודה. קוד השגיאה מוצג כחלק מההודעה.

‏‏ייתכן שהמודול ""%1"" אינו תואם לגירסה של Windows בה אתה משתמש. בדוק אם המודול תואם לגירסת x86 ‏(32 סיביות) או x64‏ (64 סיביות) של regsvr32.exe.

שגיאה זו יכולה להתרחש, לדוגמה, אם regsvr32.exe פועל במחשב x86 והמודול שצוין בשורת הפקודה הוא מודול של 64 סיביות.


הרשימה הבאה מכילה הודעות שגיאה של RegSvr32 יחד עם סיבות אפשריות:

הודעת השגיאה:

סיבה

דגל לא מזוהה: ‎/invalid_flag

הקלדת שילוב לא חוקי של דגלים או בוררים.

לא צוין שם DLL.

לא כללת שם של קובץ dll.

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

שם Dll שצוין אינו קובץ ‎.dll או קובץ ocx. לדוגמה, הקלדת regsvr32 wjview.exe יוצרת את הודעת שגיאה זו.

Dll_Name אינו קובץ הפעלה ולא רשום עוזר רישום עבור סוג קובץ זה.

שם ה- Dll שצוין אינו קובץ הפעלה (‎.exe,‏ ‎.dll או ‎.ocx). לדוגמה, הקלדת regsvr32 autoexec.bat יוצרת את הודעת שגיאה זו.

Dll_Name אינו ניתן לרישום עצמי או שבזיכרון קיימת גרסה פגומה.

לדוגמה, הקלדה של regsvr32 icwdial.dll מחזירה את הודעת שגיאה זו מכיוון שהקובץ Icwdial.dll אינו ניתן לרישום עצמי. אם נראה כי בזיכרון ישנה גירסה פגומה של Dllname, נסה להפעיל מחדש את המחשב או לחלץ מחדש את הגירסה המקורית של הקובץ.

OleInitialize נכשל (או OleUninitialize נכשל)

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

LoadLibrary("Dll_Name") נכשל. GetlastError מחזיר ערך 0x00000485

מ- Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). פירוש הדבר "אחד מקבצי הספריה שנדרשים להפעלת יישום זה לא נמצא". לדוגמה, הקלדה של regsvr32 missing.dll תציג את הודעת שגיאה זו כאשר הקובץ Missing.dll לא נמצא.

LoadLibrary("Dll_Name") נכשל. GetlastError מחזיר ערך 0x00000002

מ- Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). פירוש הדבר "למערכת אין אפשרות לאתר את הקובץ שצוין". במילים אחרות, לא נמצא קובץ DLL הקשור ביחסי תלות. לדוגמה, הקלדת regsvr32 icwdial.dll עם העדר של Tapi32.dll (קובץ הקשור ביחסי תלות), תציג את הודעת שגיאה זו.

LoadLibrary("dskmaint.dll")‎ נכשל. GetlastError מחזיר ערך 0x000001f

מ- Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). פירוש הדבר "‏‏התקן המצורף למערכת אינו פועל". אופן פעולה זה עלול להתרחש כאשר מנסים לבצע רישום של הקובץ Win16 dll. לדוגמה, הקלדת regsvr32 dskmaint.dll תציג את הודעת שגיאה זו.

DllRegisterServer (או DllUnregisterServer) ב-Dll_Name נכשל. Return code was: (קוד ההחזרה היה:) מחרוזת

חפש בקובץ Winerror.h את המחרוזת שצוינה בהודעה.


זקוק לעזרה נוספת?

הרחב את הכישורים שלך
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Microsoft insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×