আমি যখন কোনও সিওএম বর্গের উদাহরণ তৈরি করার চেষ্টা করি তখন এটি ব্যতিক্রম হিসাবে ছুঁড়ে যায়
শ্রেণি নিবন্ধভুক্ত নয় (HRESULT থেকে ব্যতিক্রম: 0x80040154 (REGDB_E_CLASSNOTREG))
দয়া করে পরামর্শ দিন আমি কীভাবে এটি সমাধান করতে পারি?
আমি যখন কোনও সিওএম বর্গের উদাহরণ তৈরি করার চেষ্টা করি তখন এটি ব্যতিক্রম হিসাবে ছুঁড়ে যায়
শ্রেণি নিবন্ধভুক্ত নয় (HRESULT থেকে ব্যতিক্রম: 0x80040154 (REGDB_E_CLASSNOTREG))
দয়া করে পরামর্শ দিন আমি কীভাবে এটি সমাধান করতে পারি?
উত্তর:
দেখে মনে হচ্ছে যে আপনি যে কোনও প্রোগ্রাম বা প্রক্রিয়াটি শুরু করার চেষ্টা করছেন তা আপনার মেশিনে ইনস্টল করা হয়নি, ক্ষতিগ্রস্থ ইনস্টলেশন রয়েছে বা রেজিস্ট্রেশন করা দরকার।
হয় এটি ইনস্টল করুন, এটি মেরামত করুন (প্রোগ্রামগুলি যুক্ত / সরান এর মাধ্যমে) বা এটি নিবন্ধ করুন (Regsvr32.exe এর মাধ্যমে)।
এর চেয়ে আরও বেশি আপনাকে সহায়তা করার জন্য আপনি আমাদের জন্য পর্যাপ্ত তথ্য সরবরাহ করেন নি।
আপনাকে নিশ্চিত করতে হবে যে আপনার সমস্ত অ্যাসেম্বলিগুলি সঠিক আর্কিটেকচারের জন্য সংকলন করছে। X86 এর জন্য আর্কিটেকচার পরিবর্তন করার চেষ্টা করুন যদি COM উপাদানটি পুনরায় ইনস্টল করা কাজ করে না।
আমার সমস্যা এবং সমাধান
আমার কাছে একটি 32 বিট তৃতীয় পক্ষের dll আছে যা আমি 2008 আর 2 মেশিনে ইনস্টল করেছি যা 64 বিট।
আমার কাছে .NET 4.5 ফ্রেমওয়ার্কে তৈরি একটি ডাব্লুসিএফ পরিষেবা রয়েছে যা প্রক্রিয়াটির জন্য 32 বিট তৃতীয় পক্ষের ডেলকে কল করে। এখন আমি 'যে কোনও' সিপিইউ লক্ষ্য করে সম্পত্তি সেট তৈরি করেছি এবং এটিকে 64 বিট মেশিনে স্থাপন করেছি।
আমি যখন ডাব্লুসিএফ পরিষেবাটি চালু করার চেষ্টা করেছি তখন ত্রুটি পেয়েছে "80040154 ক্লাসটি নিবন্ধভুক্ত নয় (এইচআরসিলেট থেকে ব্যতিক্রম: 0x80040154 (REGDB_E_CLASSNOTREG"
এখন আমি কমজি রেজিস্ট্রি ইস্যুটি সনাক্ত করতে প্রোকমন.এক্সিকে ব্যবহার করেছি এবং সনাক্ত করেছি যে প্রক্রিয়াটি এইচকেএলএম \ সিএলএসআইডি এবং এইচকেসিআর-সিএলএসআইডি যেখানে রেজিস্ট্রি নেই সেখানে রেজিস্ট্রি প্রবেশের সন্ধান করছে।
জানতে পেরেছিল যে মাইক্রোসফট K৪ বিট মেশিনে এইচকেএলএম \ সিএলএসআইডি, এইচকেসিআর \ সিএলএসআইডি পাথগুলিতে 32 বিট কম উপাদানগুলি নিবন্ধভুক্ত করবে না বরং এটি HKLM ow Wow6432 নোড \ সিএলএসআইডি এবং এইচকেসিআর \ Wow6432 নোড \ সিএলএসআইডি পাথগুলিতে প্রবেশ করবে।
এখন বিরোধটি bit৪ বিট প্রক্রিয়া 64৪ বিট মেশিনে 32 বিট প্রক্রিয়া চালিত করার চেষ্টা করছে যা এইচকেএলএম M সিএলএসআইডি, এইচকেসিআর \ সিএলএসআইডি-তে রেজিস্ট্রি প্রবেশের সন্ধান করবে। সমাধানটি হ'ল আমাদের 64৪ বিট প্রক্রিয়াটিকে এইচকেএলএম \ ওয়াও 32৪৩৩ নোড \ সিএলএসআইডি এবং এইচকেসিআর \ ওয়াও 32৪৩২ নোড \ সিএলএসআইডি-তে রেজিস্ট্রি এন্ট্রিটি দেখতে বাধ্য করতে হবে।
এটি 'যেহেতু' পরিবর্তে 'এক্স 86' মেশিনকে লক্ষ্য করে ডাব্লুসিএফ পরিষেবা প্রকল্পের বৈশিষ্ট্যগুলি কনফিগার করে অর্জন করা যেতে পারে।
২০০৮ R2 সার্ভারে 'X86' সংস্করণ স্থাপনের পরে সমস্যাটি "সিস্টেম.বিডিআইমেজ ফর্ম্যাট এক্সেক্সশন: ফাইল বা সমাবেশ লোড করা যায়নি"
এই ব্যাডিমেজফর্মেশন ধারণার সমাধানটি সঠিক অ্যাপপুলের জন্য আইআইএস অ্যাপপুল বৈশিষ্ট্যে 'সক্ষম 32 বিট অ্যাপ্লিকেশনস' 'সত্য' এ সেট করছে is
এছাড়াও নোট করুন যে ক্লাসের প্রসঙ্গটি শুরু করার সময় সেই ব্যতিক্রমটি তৈরি করতে পারে। আপনার যদি এমন কোনও অবজেক্ট থাকে যা INPROC_SERVER হিসাবে কোডড হয়েছে তবে আপনি CoCreateInstance কে CLSCTX_LOCAL_SERVER হিসাবে চেষ্টা করেছেন, আপনিও ত্রুটি পাবেন।
আপনাকে অবশ্যই নিবন্ধটি নিবন্ধিত করা আছে এবং CoCreateInstance সঠিক শ্রেণীর প্রসঙ্গে একটি উদাহরণ তৈরি করছে তা নিশ্চিত করতে হবে।
DesktopWallpaperব্যবহার করে তৈরি করার চেষ্টা করলে আপনি ত্রুটি পাবেন। CLSCTX_INPROCCLSCTX_ALL0x80040154 (REGDB_E_CLASSNOTREG)
আপনি যদি আইআইএস-এ কোনও ওয়েব অ্যাপ্লিকেশনটিতে -৪-বিট সিওএম উপাদান ব্যবহার করছেন, তা নিশ্চিত করুন যে অ্যাপ্লিকেশন পুলটি 32 বিট অ্যাপ্লিকেশনগুলিকে অনুমতি না দেওয়ার জন্য সেট করা আছে ( 32-বিট অ্যাপ্লিকেশন সক্ষম করুন: উন্নত সেটিংসে মিথ্যা )
আমি অ্যাপ্লিকেশন পুল উন্নত সেটিংসে 32 বিট অ্যাপ্লিকেশন সক্ষম করে এটি কাজ করতে পেরেছি। অ্যাপ্লিকেশন পুলে ডান ক্লিক করুন এবং উন্নত সেটিংস চয়ন করুন - 32 বিট অ্যাপ্লিকেশন সক্ষম করুন। এটি সেখানে কাউকে সাহায্য করতে পারে।
ক্লাসটি নিবন্ধন করে (বিশেষত এটির সিএলএসআইডি) - যেমন দেখুন এখানে ।
আমার ক্ষেত্রে ক্লাসটি সঠিকভাবে নিবন্ধিত হয়েছিল এবং কোনও সিপিইউ / 64 বিটে নির্মিত হয়েছিল মোডে নির্মিত হয়েছিল।
কিন্তু 32 বিট অ্যাপ্লিকেশন সক্ষম করুন সম্পত্তির আইআইএস অ্যাপ্লিকেশন পুল সেট হয়েছিল বর্গ ব্যবহার আবেদন সত্য ।
অ্যাপ্লিকেশন পুল কনফিগারেশন এবং প্রকৃত নিবন্ধিত শ্রেণীর মধ্যে আর্কিটেকচারের মিল নেই বলে ক্লাসটি পাওয়া যায় নি।
সেট 32-বিট অ্যাপ্লিকেশন সক্ষম করুন থেকে মিথ্যা সমস্যা সমাধান করা হয়েছে।

আমি সিওএমের মাধ্যমে একটি সি ++ ক্লায়েন্টের কাছ থেকে নেট নেট অ্যাসেম্বলি কল করে এই সমস্যাটিতে পৌঁছেছি। দেখা যাচ্ছে যে। নেট সমাবেশের উপর নির্ভরশীল যে কোনও অ্যাসেমব্লির সন্ধান পাওয়া যায়নি। আমি 1 ম সমাবেশে কী ভুল ছিল তা বের করার চেষ্টা করার জন্য কিছুক্ষণ কুস্তি নিয়েছিলাম, তবে এটি আসলে 1 ম সমাবেশের নির্ভরতাগুলির মধ্যে একটি। C ++ ক্লায়েন্টের কাছ থেকে CoCreateInstance () কল করার সময় আমি দুটি ভিন্ন ত্রুটি পেয়েছি। প্রথমটি ছিল: REGDB_E_CLASSNOTREG ক্লাস নিবন্ধভুক্ত নয় এবং দ্বিতীয় চেষ্টাটি ছিল: চেষ্টাটি 0x80131040: অবস্থিত সমাবেশের প্রকাশ্য সংজ্ঞাটি সমাবেশের রেফারেন্সের সাথে মেলে না।
সুতরাং আপনার সমাবেশের উল্লেখগুলি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখুন। আমি এটি ডটপিকের সাথে 1 ম সমাবেশটি ব্রাউজ করে এবং এর একটি উল্লেখ অনুপস্থিত অনুভব করে আবিষ্কার করেছি discovered ফোল্ডারে নির্ভরতার সঠিক সংস্করণ স্থাপন করা উভয় ত্রুটি সমাধান করেছে।
আমি আমার আবেদন লক্ষ্য করে কম্পাইল করা হয়েছে কোনো সিপিইউ এবং প্রধান সমস্যা প্রমাণিত যে Adobe Reader ইনস্টল করা ছিল পুরোনো v10.x চাহিদা আপগ্রেড v11.x , এই ভাবে আমি এই সমস্যার সমাধানের জন্য পাবেন।
আমি একই সময়ে একটি সিওএম ক্লাস ব্যবহার করে দৌড়েছি, অর্থাৎ রানটাইমে 'ক্লাস নথিভুক্ত নয়'। আমার জন্য আমি অ্যাপ্লিকেশন কনফিগ ফাইলে গিয়ে 'স্টার্টআপ' এবং 'সমর্থিত রুনটাইম' উপাদানগুলি এমন কিছুতে পরিবর্তন করে সমাধান করতে পেরেছিলাম:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
আপনি এখানে বিস্তারিত সম্পর্কে আরও পড়তে পারেন http://stackoverflow.com/questions/1604663/
এবং এখানে https://msdn.microsoft.com/en-us/library/w4atty68(v=vs.110).aspx
আমার লক্ষ্য করা উচিত আমি ভিজুয়াল স্টুডিও 2017 চালাচ্ছি। লক্ষ্য সিপিইউ = x86 এম্বেড ইন্টারপ টাইপ = সত্য (বৈশিষ্ট্য উইন্ডোতে)
নেট ফ্রেমওয়ার্কের ডিরেক্টরিতে যান এবং তাদের সম্পর্কিত dll রেগসভ্র 32.এক্সে সাদা স্পেস ডেল পাথের সাথে নিবন্ধভুক্ত করুন ।
আমি একই সমস্যার মুখোমুখি হয়েছি। কিছু গবেষণা করার পরে আমি আমার জন্য স্থির পেয়েছি এবং এটি কার্যকর হতে পারে। বিষয়টি কেবল আমার পর্যবেক্ষণ হিসাবে পুনরায় ইনস্টলেশন সম্পর্কিত নয়, এটি অ্যাক্সেসের অনুমতিের উপরও নির্ভর করে।
পদক্ষেপ 1: নির্দিষ্ট COM অবজেক্টটি মেরামত করুন।
পদক্ষেপ 2: উপাদান পরিষেবাদি> কম্পিউটার> আমার কম্পিউটার> ডিসিওএম কনফিগার> আপনার COM অবজেক্ট নির্বাচন করুন> ডান ক্লিক করুন> বৈশিষ্ট্য> সুরক্ষা ট্যাব> অ্যাক্সেস অনুমতি> কাস্টমাইজ চয়ন করুন> সম্পাদনা ক্লিক করুন> আইআইএস_উসার নির্বাচন করুন (যদি উপস্থিত না থাকে তবে সম্পূর্ণ অধিকার সহ তৈরি করুন) এবং সম্পূর্ণ দিন অ্যাক্সেস এবং ঠিক আছে ক্লিক করুন।
পরিচয় ট্যাবে যান> আপনি "ইন্টারেক্টিভ ব্যবহারকারী" বা "এই ব্যবহারকারী" নির্বাচন করতে পারেন> প্রয়োগ করুন এবং ঠিক আছে ক্লিক করুন। আপনি যদি "এই ব্যবহারকারী" চয়ন করেন তবে আমাদের সেই সার্ভারে প্রশাসনিক অধিকারযুক্ত ব্যবহারকারী দিতে হবে
পদক্ষেপ 3: আইআইএস ম্যানেজারটি খুলুন> অ্যাপ্লিকেশন পুলগুলি পুনরায় চালু করুন।
দ্রষ্টব্য: প্রয়োজনে সার্ভারটি পুনরায় চালু করুন
এখানে সমাধানটি সন্ধান করুন, এমএমসি -32 সরঞ্জামটি চালান (ডিসকোসিএফজি নয়)
32 বিট অফিস সহ 64 বিট সিস্টেমে এটি ব্যবহার করে দেখুন:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
