আমি নিম্নলিখিত কোড ব্যবহার করার চেষ্টা করেছি:
cd c:\windows\system32
regsvr32.exe dllname.ax
তবে এটি আমার পক্ষে কাজ করছে না। আমি কীভাবে একটি 64৪-বিট প্রসেসরের সাহায্যে উইন্ডোজ on এ একটি ডিএলএল ফাইল নিবন্ধন করতে পারি?
আমি নিম্নলিখিত কোড ব্যবহার করার চেষ্টা করেছি:
cd c:\windows\system32
regsvr32.exe dllname.ax
তবে এটি আমার পক্ষে কাজ করছে না। আমি কীভাবে একটি 64৪-বিট প্রসেসরের সাহায্যে উইন্ডোজ on এ একটি ডিএলএল ফাইল নিবন্ধন করতে পারি?
উত্তর:
regsvr32 name.dll
কমান্ড প্রম্পট টাইপ করুন (এলিভেটেড মোডে কার্যকর করা!) এবং "এন্টার" টিপুন। name.dll
আপনি যে ডিএলএল নিবন্ধন করতে চান তার নামটি প্রতিস্থাপন করা উচিত Note উদাহরণস্বরূপ, আপনি iexplore.dll নিবন্ধন করতে চান, টাইপ করুন regsvr32 iexplore.dll
।
regsvr32
ফাইলের নাম এবং এক্সটেনশান সহ .dll ফাইলের পাথ এবং এন্টার টিপুন
ঠিক আছে, আপনি এটি 32 বা 64 বিট ডেল কিনা উল্লেখ করেন না এবং আপনি ত্রুটি বার্তাটি অন্তর্ভুক্ত করেন না তবে আমি অনুমান করব যে এই কেবি নিবন্ধে বর্ণিত একই সমস্যা: ত্রুটি বার্তা যখন আপনি রেগসভিআর 32.exe চালান 64-বিট উইন্ডোজ এ
এই নিবন্ধ থেকে উদ্ধৃতি:
এই আচরণটি ঘটে কারণ System32 ফোল্ডারে Regsvr32.exe ফাইলটি একটি 64-বিট সংস্করণ। আপনি যখন কোনও ডিএলএল নিবন্ধনের জন্য রেগসভ্র 32 চালান, আপনি ডিফল্টরূপে 64-বিট সংস্করণটি ব্যবহার করছেন।
নিবন্ধ থেকে সমাধান:
এই সমস্যাটি সমাধান করতে,% SystemRoot% \ Syswow64 ফোল্ডার থেকে Regsvr32.exe চালান। উদাহরণস্বরূপ, ডিএলএল নিবন্ধন করতে নিম্নলিখিত কমান্ডগুলি টাইপ করুন:
cd \windows\syswow64
regsvr32 c:\filename.dll
যদি ডিএলএল 32 বিট হয়:
ডিএলএলটিকে সিটিতে অনুলিপি করুন: elev উইন্ডোজ \ সিসউইউডব্লিউ \
an একটি উন্নত কমান্ড প্রম্পটে:%windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll
যদি ডিএলএল 64 বিট হয়:
ডিএলএলটিকে সিটিতে অনুলিপি করুন: \ উইন্ডোজ \ সিস্টেম 32
an একটি উন্নত কমান্ড প্রম্পটে:%windir%\System32\regsvr32.exe %windir%\System32\namedll.dll
আমি জানি এটি ভুল উপায় বলে মনে হচ্ছে, তবে এটি কাজ করে। দেখা:
http://support.microsoft.com/kb/249873
উক্তি: "দ্রষ্টব্য একটি উইন্ডোজ অপারেটিং সিস্টেমের -৪
-বিট সংস্করণে , Regsv32.exe ফাইলের দুটি সংস্করণ রয়েছে: -৪ -বিট সংস্করণটি% সিস্টেমরোট% is System32 \ regsvr32.exe।
32-বিট সংস্করণটি% systemroot% \ SysWoW64 \ regsvr32.exe
""
একটি এক্স On৪ সিস্টেমে, সিস্টেম 32 bit৪ বিটের জন্য এবং সিসউও 64৪২ 32 বিটের জন্য (অন্য উত্তরে বর্ণিত অন্যভাবে নয়)। WOW (উইন্ডোজ অন উইন্ডোজ) 32 বিট সাবসিস্টেম যা 64 বিট সাবসিস্টেমের আওতায় চলে)।
এটি নামকরণের পদে একটি জগাখিচুড়ি, এবং কেবল বিভ্রান্তির জন্য কাজ করে, তবে এটিই এটি।
আবার ...
syswow64 32 বিট, 64 বিট নয়।
system32 64৪ বিট, 32 বিট নয়।
এই ডিরেক্টরিগুলির প্রত্যেকটিতে একটি regsrv32 রয়েছে। একটি 64 বিট, এবং অন্যটি 32 বিট। এটি odbcad32 এবং এট আল এর সাথে একই চুক্তি। (আপনি যদি 32-বিট ওডিবিসি ড্রাইভার দেখতে চান যা সিস্টেম 32 এ ডিফল্ট অডব্যাড 32 এর সাথে দেখাবে না যা 64-বিট)
regsvr32
: বিবরণ সম্পর্কে যত্ন নিতে হবে, তত্ত্বগতভাবে এটা নির্ণয় করতে পারবে কিনা আপনি একটি 32 বিট বা 64 বিট ডিএলএল নিবন্ধনের stackoverflow.com/questions/18935163/...
স্টার্ট মেনুটি খুলুন এবং অনুসন্ধান বাক্সে সিএমডি টাইপ করুন Ctrl + শিফট ধরে এন্টার টিপুন
এটি প্রশাসক মোডে কমান্ড প্রম্পট চালায়।
এখন টাইপ করুন: regsvr32 MyComobject.dll
অবশেষে আমি সমাধানটি খুঁজে পেয়েছি ঠিক প্রশাসক হিসাবে লিখুন তখন সিএমডি চালান
cd \windows\syswow64
তাহলে এটি লিখুন
regsvr32 c:\filename.dll
আমি আশা করি যে উত্তরটি আপনাকে সাহায্য করবে
যদি ডিএলএল 32 বিট হয়:
যদি ডিএলএল 64 বিট হয়:
এখানে সমস্ত কিছুই ভুল পথে ব্যর্থ হয়েছিল। তারপরে আমি পুরানো উইন 95 দিনের একটি কৌশল মনে করি। প্রোগ্রাম ফোল্ডারটি খুলুন যেখানে .dll অবস্থান করে, সি: / উইন্ডোজ / সিস্টেম 32 খুলুন regsvr32 এ স্ক্রোল ডাউন করুন এবং প্রোগ্রাম ফোল্ডারটি থেকে rllrver32 এ dll টানুন এবং ড্রপ করুন। গম্ভীর গর্জন, সম্পন্ন।
ত্রুটি বার্তা জানা বরং মূল্যবান হবে। এটি তথ্য সরবরাহ করার জন্য বোঝানো হয়েছে, যদিও তা আপনার কাছে কোনও ধারণা দেয় না যদিও তা আমাদের সাথে করে। অনুমান করতে বাধ্য হওয়ায়, আমি বলব যে ডিএলএল একটি 32-বিট ডাইরেক্টএক্স ফিল্টার। এই ক্ষেত্রে এটি যথাযথ ক্রিয়া হওয়া উচিত:
cd c:\windows\syswow64
move ..\system32\dllname.ax .
regsvr32.exe dllname.ax
এটি অবশ্যই একটি উন্নত কমান্ড প্রম্পটে চালানো উচিত যাতে ইউএসি প্রয়োজনীয় রেজিস্ট্রি অ্যাক্সেস বন্ধ করতে না পারে। Superuser.com এ এ সম্পর্কে আরও প্রশ্ন জিজ্ঞাসা করুন
আমি কেবল এই অত্যন্ত সহজ পদ্ধতিটি পরীক্ষা করেছি এবং এটি পুরোপুরি কার্যকর হয় - তবে আমি অন্তর্নির্মিত প্রশাসক অ্যাকাউন্টটি ব্যবহার করি, সুতরাং উন্নত সুবিধাগুলির জন্য আমাকে হুপের মধ্য দিয়ে ঝাঁপিয়ে পড়তে হবে না।
নিম্নলিখিত ব্যাচ ফাইলটি সিস্টেম ফোল্ডারের মধ্যে / আউট ফাইলগুলি সরানোর প্রয়োজনীয়তা থেকে ব্যবহারকারীকে মুক্তি দেয়। এটির যথাযথ সংস্করণ প্রয়োগ করতে এটি উইন্ডোজে ছেড়ে দেয় Regsvr32
।
নির্দেশাবলী:
আপনি যে ফোল্ডারে লাইব্রেরি ( -.dll
বা -.ax
) ফাইলটি নিবন্ধভুক্ত করতে চান সেটিতে একটি নতুন পাঠ্য ফাইল খুলুন এবং নীচের রুটিনগুলির মধ্যে একটিতে আটকে দিন:
echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 64-BIT SYSTEMS
copy %1 C:\Windows\System32
regsvr32 "%nx1"
echo END BATCH FILE
pause
echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 32-BIT SYSTEMS
copy %1 C:\Windows\SysWOW64
regsvr32 "%nx1"
echo END BATCH FILE
pause
আপনার নতুন পাঠ্য ফাইলটি ব্যাচের ( -.bat
) ফাইল হিসাবে সংরক্ষণ করুন; তারপরে ব্যাচ ফাইলের উপরে আপনার -.dll
বা -.ax
ফাইলটি কেবল টানুন এবং ছেড়ে দিন ।
যদি ইউএসি আপনাকে প্রশাসক হিসাবে ব্যাচ ফাইল চালানোর সুযোগ না দেয় তবে আপনাকে ম্যানুয়ালি সুযোগগুলি উন্নত করতে হবে (নির্দেশাবলী উইন্ডোজ for এর জন্য রয়েছে):
Create shortcut
;Properties
;Compatibility
ট্যাবে ক্লিক করুন ;Run this program as administrator
;-.dll
বা -.ax
ফাইলটি ব্যাচ ফাইলের পরিবর্তে নতুন শর্টকাটের উপরে রেখে দিন।এটাই । ইউএসি-সম্পর্কিত কোনও ফলো-আপ প্রচেষ্টা (গুলি) এর ব্যর্থতা রোধ করার COPY
পরিবর্তে আমি বেছে নিয়েছি MOVE
। আসল গ্রন্থাগার ( -.dll
বা ) ফাইল মোছার পরে সফল নিবন্ধকরণ হওয়া উচিত should-.ax
পূর্ববর্তী পাসগুলি দ্বারা সিস্টেম ফোল্ডারে ( C:\Windows\System32
বা ) তৈরি করা অনুলিপিগুলি সম্পর্কে চিন্তা করবেন নাC:\Windows\SysWOW64
- আপনি যখনই ব্যাচ ফাইল চালাবেন তখন এগুলি ওভাররাইট করা হবে।
আপনি যদি ভুল ব্যাচ ফাইলটি চালনা না করেন তবে সঠিক ব্যাচ ফাইল চালানোর আগে আপনি সম্ভবত ভুল সিস্টেম ফোল্ডারে ( C:\Windows\System32
বা C:\Windows\SysWOW64
) তৈরি করা অনুলিপি মুছতে চান , ... বা ...
উইন্ডোজকে তার ডিরেক্টরি অবস্থানটি পুরোপুরি যোগ্যতার দ্বারা নিবন্ধকরণের জন্য সঠিক লাইব্রেরি ফাইল বেছে নিতে সহায়তা করুন।
C:\Windows\System32
C:\Windows\SysWOW64
%nx1
regsvr32 "C:\Windows\System32\%nx1"
regsvr32 "C:\Windows\SysWOW64\%nx1"
%nx1
সিস্টেম ফোল্ডার পথ থেকে পৃথক করতে ব্যাকস্ল্যাশ .োকানএই শটগান ব্যাচ ফাইলটি চালান, যা (ক্রমে) করবে:
C:\Windows\System32
;C:\Windows\System32
;C:\Windows\SystemWOW64
Run as administrator
আমি যখন ব্যাট ফাইলের জন্য একটি শর্টকাট তৈরি করেছি তখন গ্রাই আউট হয়ে যায়। আমি প্রশাসক হিসাবে লগ ইন করছি। এছাড়াও, এটা %nx1
নাকি %n1
?
উইন্ডোজ in-এ একটি পার্থক্য রয়েছে Administ অ্যাডমিনিস্ট্রেটর হিসাবে লগ ইন করা প্রশাসক হিসাবে কোনও প্রোগ্রাম চালানোর সময় একই অধিকার দেয় না ।
সূচনাতে যান - সমস্ত প্রোগ্রাম - অ্যাকসেসরিজ। কমান্ড উইন্ডোতে ডান ক্লিক করুন এবং "প্রশাসক হিসাবে চালান" নির্বাচন করুন এখন dllকে সাধারণত নিবন্ধ করুন: regsrvr32 xxx.dll
এবং এটি করার সময়, আপনি যদি ত্রুটি কোড 0x80040201 পান তবে DllRegisterServer এ সমাধানটি ত্রুটি কোড 0x80040201 দ্বারা ব্যর্থ হয়েছে , তবে নিশ্চিত হন, আপনি প্রশাসক হিসাবে রান হিসাবে কমান্ড প্রম্পটটি ওপেন করুন ।
Regsvr32 সম্পর্কিত বিভ্রান্তির অংশটি হ'ল 64৪-বিট উইন্ডোতে নাম এবং পথ পরিবর্তন হয়নি, তবে এটি এখন -৪-বিট ডিএলএল নিবন্ধিত করে। 32-বিট regsvr32 সিসডাব্লু 64 এ বিদ্যমান, এমন একটি নাম যা 64-বিট অ্যাপ্লিকেশনগুলিকে উপস্থাপন করে। তবে নামে ডাব্লুডাব্লু Windows উইন্ডোজ on৪ এর উইন্ডোজকে বা উইন্ডোজ -৪-বিটের আরও স্পষ্টতা উইন্ডোজ 32-বিটকে বোঝায়। আপনি যখন এইভাবে চিন্তা করেন তখন নামটি অর্থটি অনুধাবন করে যদিও এটি এই প্রসঙ্গে বিভ্রান্তিকর।
আমি আমার মূল উত্সটি একটি এমএসডিএন ব্লগে খুঁজে পাচ্ছি না তবে এটি এই উইকিপিডিয়া নিবন্ধে উল্লেখ করা হয়েছে http://en.wikedia.org/wiki/WoW64
আমি এখানে একটি Win7 x64 মেশিনে এই সমস্যাটি কীভাবে স্থির করেছি:
"CoCreateInstance () Plkease ব্যর্থ হয়েছে আপনার রেজিস্ট্রি এন্ট্রি চেক করুন CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3} এবং নিশ্চিত করুন যে আপনি প্রশাসক হিসাবে লগ ইন করেছেন"
আশাকরি এটা সাহায্য করবে !
regsvr32
, একটি ডিএলএল অবশ্যই ফাংশন রফতানি করবেDllRegisterServer
এবংDllUnregisterServer
। আপনি মোটেও তৈরি করেন এমন বিস্তৃত DLL এর কোনও নিবন্ধ নেই।