تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

إذا لم تشرح هذه المقالة رسالة الخطأ التي تتلقاها، فيمكنك الحصول على تفسيرات مفصلة حول رسالة الخطأ، والإجراءات الموصى بها، ومصادر إضافية للدعم من صفحة TechNet الأحداث والأخطاء

الملخص

الأداة المساعدة لسطر الأوامر Regsvr32 تقوم بتسجيل عناصر تحكم OLE وإلغاء تسجيلها ومن بينها عناصر التحكم بمكتبات الارتباط الديناميكي (DLL) وActiveX في تسجيل Windows. يتم تثبيت Regsvr32.exe في المجلد %systemroot%\System32 في نظام التشغيل Windows XP والإصدارات اللاحقة من أنظمة Windows.


ملاحظة يوجد إصداران من ملف Regsv32.exe على إصدار 64 بت في نظام التشغيل Windows:

  • يكون الإصدار 64 بت هو %systemroot%\System32\regsvr32.exe.

  • يكون الإصدار 32 بت هو %systemroot%\SysWoW64\regsvr32.exe.

بناء جملة الأمر Regsvr32

يحتوي RegSvr32.exe على خيارات سطر الأوامر التالية:

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

/u - Unregister server

‎/i - Call DllInstall مع تمرير [cmdline] اختياري إليه؛ عند الاستخدام مع /u, يتم استدعاء dll uninstall
/n - do not call DllRegisterServer; this option must be used with /i

/s – Silent؛ عدم عرض أي مربعات رسائل

حلول عامة لأخطاء Regsvr32

قم بتجربة إحدى الطرق التالية عند ظهور خطأ Regsvr32:

  • الأسلوب 1: أعد تشغيل الأمر Regsvr32 من موجه أوامر غير مقيدلفتح موجه أوامر غير مقيد باتباع الخطوات التالية:

    نظاما التشغيل Windows 8.1 وWindows 8اسحب الشاشة من الحافة اليسرى، ثم اضغط على بحث. أو إذا كنت تستخدم الماوس، فقم بالإشارة إلى الزاوية اليمنى بالجزء السفلي للشاشة، ثم بالنقر فوق بحث. اكتب موجه الأوامر في مربع بحث، ثم انقر بزر الماوس الأيمن فوق موجه الأوامر، وانقر فوق تشغيل كمسؤول. إذا تمت مطالبتك بكلمة مرور مسؤول أو تأكيد، فاكتب كلمة المرور، أو انقر فوق السماح

    نظاما التشغيل Windows 7 وWindows Vistaانقر ابدأ، واكتب موجه الأوامر أو cmd في مربع البحث، ثم انقر بزر الماوس الأيمن فوق موجه الأوامر، وانقر فوق التشغيل كمسؤول. إذا تمت مطالبتك بكلمة مرور المسؤول أو تأكيد، فاكتب كلمة المرور، أو انقر فوق السماح

    نظام التشغيل Windows XPتسجيل الدخول باستخدام حساب مسؤول أو حساب له أذونات المسؤول ثم قم بفتح اطار موجه الأوامر.

  • الطريقة الثانية: استخدام الإصدار 32 بت من Regsvr32 لتسجيل DLL 32 بت علي إصدار 64 بت من Windowsإذا تلقيت خطأ عند تسجيل DLL 32 بت علي إصدار 64 بت من Windows ، اتبع الخطوات التالية:

    1. افتح موجه أوامر غير مقيد.

    2. إذا كان الإصدار 32 بت من DLL (مكتبة ارتباط ديناميكي) في المجلد %systemroot%\System32، انقله إلى المجلد %systemroot%\SysWoW64.

    3. قم بتشغيل الأمر التالي:

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

رسائل خطأ Regsvr32

يحتوي الجدول التالي على رسائل خطأ RegSvr32 والأسباب المحتملة:

رسالة الخطأ

السبب

علامة الأمر ""%1"" غير صحيحة. الرجاء مراجعة استخدام الأمر ثم المحاولة مرة أخرى.

تم تمرير مجموعة غير صالحة من الخيارات في سطر الأوامر إلى regsvr32.exe.

‏‏هذا الأمر صحيح فقط عند فتح مشروع "Microsoft Visual Studio OLE Activex Control".

قام برنامج Visual Studio باستدعاء Regsvr32.exe ولكن لم يتم تحديد وحدات نمطية في سطر الأوامر.

لتسجيل وحدة نمطية، يجب إدخال اسم ثنائي.

تم استدعاء 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 (٣٢ بت) أو الإصدار x64 (٦٤ بت) من regsvr32.exe.

قد يحدث هذا الخطأ، على سبيل المثال، إذا تم تشغيل regsvr32.exe على جهاز كمبيوتر يعمل بالإصدار x86 وكانت الوحدة النمطية التي تم تحديدها في سطر الأوامر هي وحدة نمطية بالإصدار ٦٤ بت.


يحتوي الجدول التالي على رسائل خطأ 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 غير قابل للتسجيل ذاتيًا. إذا كنت تشك في وجود إصدار تالف من اسم Dll في الذاكرة، فحاول إعادة تشغيل جهاز الكمبيوتر أو إعادة استخراج الإصدار الأصلي من الملف.

فشل OleInitialize (أو فشل OleUninitialize)

يجب أن تقوم الأداة Regsvr32 بتهيئة مكتبة COM قبل أن تتمكن من استدعاء وظائف مكتبة COM اللازمة وإلغاء تهيئة المكتبة عند إيقاف تشغيلها. تظهر رسائل الخطأ هذه في حالة فشل محاولة تهيئة مكتبة COM أو إلغاء تهيئتها. على سبيل المثال، قد يكون الملف Ole32.dll تالفًا أو قد يكون الإصدار غير صحيح.

فشل LoadLibrary("Dll_Name"). يقوم GetlastError بإرجاع 0x00000485

From Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). هذا يعني أنه قد "تعذر العثور على أحد ملفات المكتبة المطلوبة لتشغيل هذا التطبيق." على سبيل المثال، تؤدي كتابة regsvr32 missing.dll إلى إرجاع رسالة الخطأ هذه في حالة عدم العثور على الملف Missing.dll.

فشل LoadLibrary("Dll_Name") . يقوم GetLastError بإرجاع 0x00000002

From Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). هذا يعني أن "‏‏لا يمكن للنظام العثور على الملف المحدد". وبمعنى آخر، لم يتم العثور على DLL تابع. على سبيل المثال، تؤدي كتابة regsvr32 icwdial.dll مع عدم وجود Tapi32.dll (تبعية) إلى إرجاع رسالة الخطأ هذه.

فشل LoadLibrary("dskmaint.dll"). يقوم GetLastError بإرجاع 0x000001f

From Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). هذا يعني أن "‏‏الجهاز المتصل بالنظام لا يعمل." يمكن أن يحدث هذا السلوك عند محاولة تسجيل ملف Win16 .dll. على سبيل المثال، تؤدي كتابة regsvr32 dskmaint.dll إلى إرجاع رسالة الخطأ هذه.

فشل DllRegisterServer (أو DllUnregisterServer) في Dll_Name. Return code: string (فشل DllRegisterServer (أو DllUnregisterServer) في اسم Dll. الرمز المرجع: string (سلسلة))

ابحث في الملف Winerror.h عن السلسلة المحددة في الرسالة.


هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×