একজন বড় টেক গিক হিসেবে, আমি খুব খারাপ লাগে যখন আমার Windows মেশিন নিখুঁতভাবে কাজ করে না। আমি মনে করি যদি আমি আমার কম্পিউটার নিখুঁতভাবে চালাতে না পারি, তবে আমি কি ধরনের টেক ব্যক্তি? বোঝা যাচ্ছে, সব কিছু নিখুঁত করতে চাওয়া মানে আমার সিস্টেমের সাথে যেকোনো বড় সমস্যা না থাকলেও সমস্যা ফিক্স করার পেছনে অনেক সময় খরচ করা।
তবুও, এটি মজার এবং আপনি অনেক কিছু শিখেন। এই নিবন্ধে, আমি Event Viewer-এ দেখা যাওয়া DistributedCOM সম্পর্কিত এরর ফিক্স করার কথা বলব। আমি লক্ষ্য করলাম আমার System লগে প্রতিদিন কয়েকটি এরর ছাড়া অন্য কোনো এরর নেই যার Event ID 10016। বেসিক এরর মেসেজ একই ছিল:
The application-specific permission settings do not grant Local Activation permission for the COM Server application

এটি CLSID, APPID, SID এবং Component Services ব্যবহার করে পারমিশন মডিফাই করার কথা লিস্ট করে।

কিছু ঘন ফোরাম পোস্ট পড়ে, আমি এই এররটি ফিক্স করতে পারলাম যাতে এটি আর Event Viewer-এ দেখা যায় না। এটি khá একটা প্রক্রিয়া, তাই নিশ্চিত করুন আপনার কাছে এক বা দুই ঘণ্টা সময় আছে শুরু করার আগে।
ধাপ ১ — প্রসেস চেক করা
প্রথমে আমাদের করতে হবে এরের লিস্ট করা CLASS ID-এর সাথে কোন প্রসেস বা সার্ভিস জড়িত সেটা বের করা। এটি করতে, ইভেন্ট ডেসক্রিপশনে লিস্ট করা CLSID কপি করুন। আমার কেসে, এটি {D63B10C5 দিয়ে শুরু হয়েছিল। কার্লি ব্রেস দুটোও কপি করুন।
এখন রেজিস্ট্রি এডিটর খুলুন Start-এ ক্লিক করে regedit টাইপ করে। রেজিস্ট্রি এডিটর খুললে, Edit-এ ক্লিক করুন এবং তারপর Find। CLSIDটি সার্চ বক্সে পেস্ট করুন এবং Enter চাপুন।

কিছু সময় পর, আপনি HK_CLASSES_ROOT\CLSID কী-এর অধীনে একটি রেজাল্ট পাবেন। ডান পাশে, এটিকে দুটি কী থাকা উচিত এবং Default টি সার্ভিসের নাম লিস্ট করা উচিত। আমার কেসে এবং সম্ভবত আপনার কেসেও, এটি RuntimeBroker হওয়া উচিত।

AppID-ও এরর মেসেজে লিস্ট করা AppID-এর সাথে মিলে যেতে হবে। এরপর, আমাদের একটি স্ক্রিপ্ট চালাতে হবে যাতে Component Services-এ এই সার্ভিসের পারমিশন পরিবর্তন করতে পারি।
ধাপ ২ — PowerShell স্ক্রিপ্ট চালানো
এই সমস্যা ফিক্স করতে, আমাদের Component Services-এ RuntimeBroker-এর জন্য কিছু পারমিশন এডিট করতে হবে, কিন্তু তার আগে আমাদের একটি স্ক্রিপ্ট চালাতে হবে যা আমাদের সেই পরিবর্তনগুলো করার অনুমতি দেবে।
PowerShell অ্যাডমিনিস্ট্রেটর হিসেবে চালাতে, Start-এ ক্লিক করুন, powershell টাইপ করুন এবং তারপর রেজাল্টে রাইট-ক্লিক করে Run as administrator বেছে নিন।

এখন এখানে লিংক করা টেক্সট ফাইলটি ডাউনলোড করুন এবং সকল কোড কপি করে PowerShell উইন্ডোতে পেস্ট করুন (আপনি যদি PowerShell উইন্ডোতে রাইট-ক্লিক করেন, তবে এটি ক্লিপবোর্ডের যা আছে সেটি পেস্ট করবে)। তারপর শুধু Enter চাপুন এবং আপনি Done শব্দটি প্রিন্ট হয়ে দেখতে পাবেন।

ধাপ ৩ — Component Services খোলা
আপনি ধাপ ২-এ PowerShell খুলার মতোই Component Services খুলতে পারেন। Start-এ ক্লিক করুন এবং component services টাইপ করুন। এই প্রোগ্রামটি অ্যাডমিনিস্ট্রেটর হিসেবে চালানোর প্রয়োজন নেই। একবার সেখানে গেলে, নিচের লোকেশনে নেভিগেট করুন:
Component Services - Computers - My Computer - DCOM Config

নিচে স্ক্রোল করুন যতক্ষণ না Runtime Broker পান। আমার কেসে, এটা দুটি ছিল! আপনি কীভাবে জানবেন এররে লিস্ট করা কোনটি?

প্রতিটিতে রাইট-ক্লিক করুন এবং Properties বেছে নিন। General ট্যাবে, আপনি Application ID দেখবেন, যা এরর মেসেজের AppID-এর সাথে মিলে যেতে হবে। আপনি যদি Event Viewer-এ ১০০১৬ ID-র এরর পান এবং একাধিক CLSID থাকে, তবে হয়তো দুটি RuntimeBrokerই ফিক্স করতে হবে। আমার কেসে, আমাকে শুধু একটি ফিক্স করতে হয়েছিল।
ধাপ ৪ — পারমিশন ঠিক করা
শেষে, আমাদের পারমিশন মডিফাই করতে হবে। RuntimeBroker প্রপার্টিজ উইন্ডোতে থাকতে Security ট্যাবে ক্লিক করুন।

Launch and Activation Permissions-এর নিচে Edit বাটনটি ক্লিকযোগ্য হওয়া উচিত। যদি এটি গ্রে-আউটেড থাকে, তবে PowerShell স্ক্রিপ্টটি ঠিকমতো রান হয়নি। আপনি এডিটে ক্লিক করলে একটি পপআপ ডায়ালগ আসতে পারে অপরিচিত পারমিশনের সতর্কতা দিয়ে।

এখানে আপনি Remove-এ ক্লিক করতে চাবেন না। শুধু Cancel বাটনে ক্লিক করুন। এখন আপনি ডিফল্ট অ্যাকাউন্টের লিস্ট দেখবেন এবং হয়তো একটি Account Unknownও লিস্ট করা থাকবে।

আপনাকে নিশ্চিত করতে হবে Account Unknown যেন যেন থাকে। এটি রিমুভ করবেন না। এই পয়েন্টে, আপনার কাছে ALL APPLICATION PACKAGES এবং SELF থাকা উচিত। এখন আমাদের দুটি অ্যাকাউন্ট যোগ করতে হবে। Add-এ ক্লিক করুন এবং System টাইপ করুন এবং তারপর Check Names-এ ক্লিক করুন। OK চাপুন এবং এটি সেই অ্যাকাউন্টটি লিস্টে যোগ করবে।

আবার Add-এ ক্লিক করুন এবং এইবার Local Service টাইপ করুন এবং একই ধাপগুলো অনুসরণ করুন।

দুটোই যোগ হলে, সেগুলো একে একে ক্লিক করুন এবং Allow-এর নিচে Local Launch এবং Local Activation চেকবক্সগুলো সিলেক্ট করুন। এটাই ছিল প্রায়! এখন কম্পিউটার রিস্টার্ট করুন এবং আপনি আর সেই এররটি Event Viewer লগে দেখতে পাবেন না। উপভোগ করুন!