COM ব্যতিক্রমী ক্লাস কীভাবে নিবন্ধিত হবে না (HRE صلاحT: 0x80040154 (REGDB_E_CLASSNOTREG) থেকে ব্যতিক্রম) কীভাবে সমাধান করবেন?


93

আমি যখন কোনও সিওএম বর্গের উদাহরণ তৈরি করার চেষ্টা করি তখন এটি ব্যতিক্রম হিসাবে ছুঁড়ে যায়

শ্রেণি নিবন্ধভুক্ত নয় (HRESULT থেকে ব্যতিক্রম: 0x80040154 (REGDB_E_CLASSNOTREG))

দয়া করে পরামর্শ দিন আমি কীভাবে এটি সমাধান করতে পারি?


4
আপনি কিছু কোড দিয়ে আরও বিশদ দিতে পারেন?
— জাইসফট

10
দুটি প্রশ্ন রয়েছে: 1. আপনি উইন্ডোজ 7 এক্স 64 মেশিনে সিওএম উপাদানটি ইনস্টল / নিবন্ধিত করেছেন? আপনার অ্যাপ্লিকেশনটির টার্গেট প্ল্যাটফর্মটি কী, আমি মনে করি আপনার প্ল্যাটফর্মটি x86 এ সেট করা উচিত, দয়া করে এটি "কোনও সিপিইউ" হিসাবে সেট করবেন না? দয়া করে প্রথমে সিওএম নিবন্ধ করুন এবং তারপরে অ্যাপ্লিকেশনটি পরীক্ষা করার জন্য দৌড়ুন , দয়া করে ডকুমেন্টটি দেখুন: সমর্থন .microsoft.com/kb/146219 এবং Regsvr32 ব্যবহার এবং ত্রুটি বার্তাগুলির ব্যাখ্যা
— জ্যাকওয়্যাং ২

আমি বিল্ড টার্গেটটি 'x86' এ পরিবর্তন না করেই সমাধান করেছি। লিঙ্কে সমাধান: < stackoverflow.com/a/55513690/11310933 >
— সুনীল Xtha

উত্তর:


49

দেখে মনে হচ্ছে যে আপনি যে কোনও প্রোগ্রাম বা প্রক্রিয়াটি শুরু করার চেষ্টা করছেন তা আপনার মেশিনে ইনস্টল করা হয়নি, ক্ষতিগ্রস্থ ইনস্টলেশন রয়েছে বা রেজিস্ট্রেশন করা দরকার।

হয় এটি ইনস্টল করুন, এটি মেরামত করুন (প্রোগ্রামগুলি যুক্ত / সরান এর মাধ্যমে) বা এটি নিবন্ধ করুন (Regsvr32.exe এর মাধ্যমে)।

এর চেয়ে আরও বেশি আপনাকে সহায়তা করার জন্য আপনি আমাদের জন্য পর্যাপ্ত তথ্য সরবরাহ করেন নি।


4
ভাবুন আপনি RegSvr32.exe বলতে চাইছেন (যেমন RegSrv32.exe এর বিরোধিতা করছেন)।
— উইন্ডোজজিএম

60

আপনাকে নিশ্চিত করতে হবে যে আপনার সমস্ত অ্যাসেম্বলিগুলি সঠিক আর্কিটেকচারের জন্য সংকলন করছে। X86 এর জন্য আর্কিটেকচার পরিবর্তন করার চেষ্টা করুন যদি COM উপাদানটি পুনরায় ইনস্টল করা কাজ করে না।


এটি NAV 2009 আর 2 ক্লায়েন্ট (ClassID 50000004-0000-1000-0001-0000836BD2D2) খুঁজে না পেয়ে আমার প্রক্রিয়াটি সমাধান করেছে।
— ভিনসেন্ট ভ্যাঙ্কালবার্গ 22'18

15

আমার সমস্যা এবং সমাধান

আমার কাছে একটি 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


দয়া করে একাধিক প্রশ্নের একই রকম উত্তর পোস্ট করবেন না। একটি ভাল উত্তর পোস্ট করুন, তারপরে অন্য প্রশ্নগুলিকে সদৃশ হিসাবে বন্ধ করতে ভোট / পতাকা দিন। যদি প্রশ্নটি সদৃশ না হয় তবে আপনার প্রশ্নের উত্তরগুলি শিখুন ।
— ক্লিওপাত্রা

10

এছাড়াও নোট করুন যে ক্লাসের প্রসঙ্গটি শুরু করার সময় সেই ব্যতিক্রমটি তৈরি করতে পারে। আপনার যদি এমন কোনও অবজেক্ট থাকে যা INPROC_SERVER হিসাবে কোডড হয়েছে তবে আপনি CoCreateInstance কে CLSCTX_LOCAL_SERVER হিসাবে চেষ্টা করেছেন, আপনিও ত্রুটি পাবেন।

আপনাকে অবশ্যই নিবন্ধটি নিবন্ধিত করা আছে এবং CoCreateInstance সঠিক শ্রেণীর প্রসঙ্গে একটি উদাহরণ তৈরি করছে তা নিশ্চিত করতে হবে।


হ্যাঁ, উদাহরণস্বরূপ আপনি (এর পরিবর্তে ) DesktopWallpaperব্যবহার করে তৈরি করার চেষ্টা করলে আপনি ত্রুটি পাবেন। CLSCTX_INPROCCLSCTX_ALL0x80040154 (REGDB_E_CLASSNOTREG)
— ব্যবহারকারী 362515

9

আপনি যদি আইআইএস-এ কোনও ওয়েব অ্যাপ্লিকেশনটিতে -৪-বিট সিওএম উপাদান ব্যবহার করছেন, তা নিশ্চিত করুন যে অ্যাপ্লিকেশন পুলটি 32 বিট অ্যাপ্লিকেশনগুলিকে অনুমতি না দেওয়ার জন্য সেট করা আছে ( 32-বিট অ্যাপ্লিকেশন সক্ষম করুন: উন্নত সেটিংসে মিথ্যা )


5

আমি অ্যাপ্লিকেশন পুল উন্নত সেটিংসে 32 বিট অ্যাপ্লিকেশন সক্ষম করে এটি কাজ করতে পেরেছি। অ্যাপ্লিকেশন পুলে ডান ক্লিক করুন এবং উন্নত সেটিংস চয়ন করুন - 32 বিট অ্যাপ্লিকেশন সক্ষম করুন। এটি সেখানে কাউকে সাহায্য করতে পারে।


আমার জন্যও একই. একটি 32 বিবিটি ডেল একটি 64 বিট ডেভ মেশিন, 64 বিট পরীক্ষা এবং 64 বিট লাইভ সার্ভারে ব্যবহৃত হয়। দেব বাক্সে সূক্ষ্ম কাজ করেছেন। যখন পরীক্ষা এবং লাইভ সার্ভারগুলিতে স্থাপন করা হয় তখন পর্যন্ত 32 আইটি অ্যাপ্লিকেশনগুলিকে সম্পর্কিত আইআইএস অ্যাপ পুলগুলিতে অনুমতি দেওয়া না হয়ে এবং পুলগুলি পুনরায় আরম্ভ না করা পর্যন্ত এটি ব্যর্থ হয়। আমাকে "এম্বেড ইন্টারফেস প্রকারগুলি" (ভিএস-এ আপত্তিজনক ডেলির একটি সেটিংস) বন্ধ করতে হয়েছিল এবং সার্ভারের কাছে এটির মূল রূপে ডেলটি অনুলিপি করা হয়েছিল তা নিশ্চিত করার জন্য "স্থানীয় স্থানীয় কপি করুন" সেট করতে হয়েছিল।
— সাইমর্গ

3

ক্লাসটি নিবন্ধন করে (বিশেষত এটির সিএলএসআইডি) - যেমন দেখুন এখানে ।


এটি এমন কিছু বস্তুও হতে পারে যা তার মেশিন বা সার্ভারে ইনস্টল করা দরকার, ক্লাসের নিবন্ধকরণের প্রয়োজন নেই।
— জায়সফট

এমএসডিএন ইউআরএল যেভাবে উল্লেখ করেছি, @ কাইসফট, "ইনস্টলেশন" এ সাধারণত "নিবন্ধকরণ" জড়িত।
— অ্যালেক্স মার্তেলি

3

আমার ক্ষেত্রে

my platform x64 হয়

the Dll library(sdk) এবং redistributable package x x হয়

তাই

  1. সমাধান এক্সপ্লোরার মধ্যে navigate to your project

  2. খোলা Properties

  3. change the Platform target from AnyCPU to x64

এখানে চিত্র বর্ণনা লিখুন


3

যেভাবে আমি এই সমস্যাটি সমাধান করেছি তা হ'ল COMমাধ্যমে নিবন্ধন করাregsvr32 ।

আপনি যে সিওএম-কে অনুরোধ করছেন তা নিবন্ধিত রয়েছে তা নিশ্চিত করুন।

আমার অ্যাপ্লিকেশনটি ব্যবহার করা হয়েছিল xceedcry.dllএবং আমি এটি নিবন্ধ করছিলাম না। আমি একবার এটি নিবন্ধভুক্ত করার পরে, আবেদনটি ভাল কাজ করেছে।


2

আমার সমাধানটি ছিল আইআইএসের আপেক্ষিক অ্যাপ্লিকেশন পুলের উন্নত সেটিংসে " 32-বিট অ্যাপ্লিকেশনগুলি সক্ষম করুন" কে সত্যে পরিবর্তন করা ।

অ্যাপ পুল

32 বিট অ্যাপ্লিকেশন সক্ষম করুন


2

আমার ক্ষেত্রে ক্লাসটি সঠিকভাবে নিবন্ধিত হয়েছিল এবং কোনও সিপিইউ / 64 বিটে নির্মিত হয়েছিল মোডে নির্মিত হয়েছিল।

কিন্তু 32 বিট অ্যাপ্লিকেশন সক্ষম করুন সম্পত্তির আইআইএস অ্যাপ্লিকেশন পুল সেট হয়েছিল বর্গ ব্যবহার আবেদন সত্য ।

অ্যাপ্লিকেশন পুল কনফিগারেশন এবং প্রকৃত নিবন্ধিত শ্রেণীর মধ্যে আর্কিটেকচারের মিল নেই বলে ক্লাসটি পাওয়া যায় নি।

সেট 32-বিট অ্যাপ্লিকেশন সক্ষম করুন থেকে মিথ্যা সমস্যা সমাধান করা হয়েছে। আইআইএস অ্যাপ পুল সেটিংস


2

আমারও একই সমস্যা ছিল ম্যাপউইনগিস ব্যবহার করে। আমি সমাধানটি পেয়েছি, ভিজ্যুয়াল স্টুডিওতে কাজ করে ২০১৫ উইন্ডোজ প্রকেট তৈরি করে, প্রোটিেক্ট>> বৈশিষ্ট্য-> তৈরি করুন, সমস্ত কনফিগারেশনে কনফিগারেশন সেট করুন এবং কনবোবক্সে "প্ল্যাটফর্ম লক্ষ্য" এ এটিকে x64 এ সেট করুন।


1

আমার জন্য, আমাকে bit৪ বিট বিল্ড কনফিগারেশন তৈরি করতে হয়েছিল।


0

আমি সিওএমের মাধ্যমে একটি সি ++ ক্লায়েন্টের কাছ থেকে নেট নেট অ্যাসেম্বলি কল করে এই সমস্যাটিতে পৌঁছেছি। দেখা যাচ্ছে যে। নেট সমাবেশের উপর নির্ভরশীল যে কোনও অ্যাসেমব্লির সন্ধান পাওয়া যায়নি। আমি 1 ম সমাবেশে কী ভুল ছিল তা বের করার চেষ্টা করার জন্য কিছুক্ষণ কুস্তি নিয়েছিলাম, তবে এটি আসলে 1 ম সমাবেশের নির্ভরতাগুলির মধ্যে একটি। C ++ ক্লায়েন্টের কাছ থেকে CoCreateInstance () কল করার সময় আমি দুটি ভিন্ন ত্রুটি পেয়েছি। প্রথমটি ছিল: REGDB_E_CLASSNOTREG ক্লাস নিবন্ধভুক্ত নয় এবং দ্বিতীয় চেষ্টাটি ছিল: চেষ্টাটি 0x80131040: অবস্থিত সমাবেশের প্রকাশ্য সংজ্ঞাটি সমাবেশের রেফারেন্সের সাথে মেলে না।

সুতরাং আপনার সমাবেশের উল্লেখগুলি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখুন। আমি এটি ডটপিকের সাথে 1 ম সমাবেশটি ব্রাউজ করে এবং এর একটি উল্লেখ অনুপস্থিত অনুভব করে আবিষ্কার করেছি discovered ফোল্ডারে নির্ভরতার সঠিক সংস্করণ স্থাপন করা উভয় ত্রুটি সমাধান করেছে।


0

আমি আমার আবেদন লক্ষ্য করে কম্পাইল করা হয়েছে কোনো সিপিইউ এবং প্রধান সমস্যা প্রমাণিত যে Adobe Reader ইনস্টল করা ছিল পুরোনো v10.x চাহিদা আপগ্রেড v11.x , এই ভাবে আমি এই সমস্যার সমাধানের জন্য পাবেন।


0

আমি একই সময়ে একটি সিওএম ক্লাস ব্যবহার করে দৌড়েছি, অর্থাৎ রানটাইমে 'ক্লাস নথিভুক্ত নয়'। আমার জন্য আমি অ্যাপ্লিকেশন কনফিগ ফাইলে গিয়ে 'স্টার্টআপ' এবং 'সমর্থিত রুনটাইম' উপাদানগুলি এমন কিছুতে পরিবর্তন করে সমাধান করতে পেরেছিলাম:

<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 এম্বেড ইন্টারপ টাইপ = সত্য (বৈশিষ্ট্য উইন্ডোতে)


0

নেট ফ্রেমওয়ার্কের ডিরেক্টরিতে যান এবং তাদের সম্পর্কিত dll রেগসভ্র 32.এক্সে সাদা স্পেস ডেল পাথের সাথে নিবন্ধভুক্ত করুন ।


0

আমি একই সমস্যার মুখোমুখি হয়েছি। কিছু গবেষণা করার পরে আমি আমার জন্য স্থির পেয়েছি এবং এটি কার্যকর হতে পারে। বিষয়টি কেবল আমার পর্যবেক্ষণ হিসাবে পুনরায় ইনস্টলেশন সম্পর্কিত নয়, এটি অ্যাক্সেসের অনুমতিের উপরও নির্ভর করে।

পদক্ষেপ 1: নির্দিষ্ট COM অবজেক্টটি মেরামত করুন।

পদক্ষেপ 2: উপাদান পরিষেবাদি> কম্পিউটার> আমার কম্পিউটার> ডিসিওএম কনফিগার> আপনার COM অবজেক্ট নির্বাচন করুন> ডান ক্লিক করুন> বৈশিষ্ট্য> সুরক্ষা ট্যাব> অ্যাক্সেস অনুমতি> কাস্টমাইজ চয়ন করুন> সম্পাদনা ক্লিক করুন> আইআইএস_উসার নির্বাচন করুন (যদি উপস্থিত না থাকে তবে সম্পূর্ণ অধিকার সহ তৈরি করুন) এবং সম্পূর্ণ দিন অ্যাক্সেস এবং ঠিক আছে ক্লিক করুন।

পরিচয় ট্যাবে যান> আপনি "ইন্টারেক্টিভ ব্যবহারকারী" বা "এই ব্যবহারকারী" নির্বাচন করতে পারেন> প্রয়োগ করুন এবং ঠিক আছে ক্লিক করুন। আপনি যদি "এই ব্যবহারকারী" চয়ন করেন তবে আমাদের সেই সার্ভারে প্রশাসনিক অধিকারযুক্ত ব্যবহারকারী দিতে হবে

পদক্ষেপ 3: আইআইএস ম্যানেজারটি খুলুন> অ্যাপ্লিকেশন পুলগুলি পুনরায় চালু করুন।

দ্রষ্টব্য: প্রয়োজনে সার্ভারটি পুনরায় চালু করুন


-1

এখানে সমাধানটি সন্ধান করুন, এমএমসি -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

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.