چه باید بدانیم
- برای ثبت یک فایل DLL myfile.dll، regsvr32 myfile.dll را وارد کنید و برای لغو ثبت آن، r egsvr32 /u myfile.dll را تایپ کنید.در خط فرمان.
- اگر هنگام تلاش برای ثبت یک فایل DLL با خطا مواجه شدید، ممکن است مجوزهای صحیح را نداشته باشید یا ممکن است فایل مسدود شده باشد.
- سایر خطاها ممکن است به دلیل عدم وابستگی باشد. اگر چنین است، از Dependency Walker برای مشاهده همه وابستگی های مورد نیاز فایل DLL استفاده کنید.
این مقاله نحوه استفاده از ابزار خط فرمان regsvr32 در ویندوز و نحوه رفع برخی از خطاهای regsvr32 را توضیح می دهد. Regsvr32 برای ثبت و لغو ثبت کنترلهای Object Linking and Embedding (OLE) مانند فایلهای DLL و ActiveX Control استفاده میشود.فایل های OCX اگر خطای DLL را در رایانه خود مشاهده کردید، ممکن است نیاز به ثبت یک فایل DLL داشته باشید.
نحوه ثبت و لغو ثبت یک فایل DLL
اگر ارجاعات موجود در رجیستری ویندوز که به فایل 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
همه DLL ها را نمی توان فقط با وارد کردن دستور بالا در Command Prompt ثبت کرد. ممکن است لازم باشد ابتدا سرویس یا برنامه ای را که از فایل استفاده می کند ببندید.
چگونه خطاهای رایج Regsvr32 را رفع کنیم
در اینجا یک خطا وجود دارد که ممکن است هنگام تلاش برای ثبت یک فایل DLL مشاهده کنید:
ماژول بارگیری شد اما تماس با DllRegisterServer با کد خطای 0x80070005 ناموفق بود.
این معمولاً یک مشکل مجوز است. اگر اجرای یک Command Prompt باز هم به شما اجازه ثبت فایل DLL را نمی دهد، ممکن است خود فایل مسدود شده باشد. بخش امنیت برگه عمومی را در پنجره ویژگی های فایل بررسی کنید.
یک مشکل احتمالی دیگر می تواند این باشد که شما مجوزهای صحیح برای استفاده از فایل را ندارید.
پیام خطای مشابهی مانند شکل زیر است. این خطا معمولاً به این معنی است که DLL به عنوان یک DLL COM برای هیچ برنامهای روی رایانه استفاده نمیشود، به این معنی که نیازی به ثبت آن نیست.
ماژول بارگیری شد اما نقطه ورودی DllRegisterServer پیدا نشد.
این هم یک پیام خطای regsvr32 دیگر:
ماژول بارگیری نشد. مطمئن شوید که باینری در مسیر مشخص شده ذخیره شده است یا آن را اشکال زدایی کنید تا مشکلات فایل های DLL باینری یا وابسته را بررسی کنید. ماژول مشخص شده یافت نشد.
این خطای خاص ممکن است به دلیل یک وابستگی از دست رفته باشد، در این صورت میتوانید از Dependency Walker برای مشاهده فهرستی از تمام وابستگیهایی که فایل DLL نیاز دارد، استفاده کنید، زیرا ممکن است یکی از آنها گم شده باشد که باید به ترتیب داشته باشید. برای اینکه DLL به درستی ثبت شود.
همچنین مطمئن شوید که مسیر فایل DLL درست نوشته شده باشد. نحو دستور بسیار مهم است. اگر به درستی وارد نشده باشد، ممکن است خطا ایجاد شود.
ممکن است لازم باشد برخی از فایلهای DLL مکانشان را با گیومههایی مانند این احاطه کنند:
"C:\Users\Admin User\Programs\myfile.dll"
Regsvr32.exe کجا ذخیره می شود؟
نسخه های 32 بیتی ویندوز (XP و جدیدتر) ابزار Microsoft Register Server را هنگام نصب ویندوز برای اولین بار به این پوشه اضافه می کنند: %systemroot%\System32\.
نسخه های
64 بیتی ویندوز فایل regsvr32.exe را نه تنها در آنجا، بلکه در اینجا نیز ذخیره می کنند: %systemroot%\SysWoW64\.