एक बड़े टेक गीक के रूप में, मुझे नफरत है जब मेरी Windows मशीन निर्दोष रूप से काम नहीं कर रही है। मुझे लगता है कि अगर मैं अपने कंप्यूटर को पूरी तरह से काम नहीं करवा सकता, तो मैं किस तरह का टेक व्यक्ति हूं? जाहिर है, सब कुछ पूरी तरह से काम करने की कोशिश करने का मतलब उन मुद्दों को ठीक करने में बहुत समय बिताना है जो शायद मेरे सिस्टम के साथ कोई बड़ी समस्या नहीं पैदा करते।
फिर भी, यह मजेदार है और आप बहुत कुछ सीखते हैं। इस लेख में, मैं DistributedCOM से संबंधित इवेंट व्यूअर में दिखाई देने वाली त्रुटि को ठीक करने के बारे में बात कर रहा हूं। मैंने देखा कि मेरे System लॉग में हर दिन कुछ 10016 इवेंट ID के अलावा कोई अन्य त्रुटि नहीं थी। मूल त्रुटि संदेश वही था:
The application-specific permission settings do not grant Local Activation permission for the COM Server application

इसमें एक CLSID, एक APPID, एक SID और कंपोनेंट सर्विसेज का उपयोग करके अनुमतियों को संशोधित करने के बारे में कुछ सूचीबद्ध था।

कुछ घने फोरम पोस्ट पढ़ने के बाद, मैं इस त्रुटि को ठीक करने में सक्षम हुआ ताकि यह इवेंट व्यूअर में अब प्रकट न हो। यह काफी प्रक्रिया है, इसलिए शुरू करने से पहले सुनिश्चित करें कि आपके पास एक या दो घंटे का समय है।
चरण 1 - प्रक्रिया जांचें
हमें सबसे पहले यह पता लगाना होगा कि त्रुटि में सूचीबद्ध CLASS ID से कौन सी प्रक्रिया या सेवा जुड़ी है। ऐसा करने के लिए, इवेंट विवरण में सूचीबद्ध CLSID को कॉपी करें। मेरे मामले में, यह {D63B10C5 से शुरू हुआ। दोनों कर्ली ब्रेसेस भी कॉपी करना सुनिश्चित करें।
अब आपको स्टार्ट पर क्लिक करके और regedit टाइप करके रजिस्ट्री एडिटर खोलना होगा। जब रजिस्ट्री एडिटर खुल जाए, तो Edit पर क्लिक करें और फिर Find। CLSID को सर्च बॉक्स में पेस्ट करें और Enter दबाएं।

कुछ समय बाद, आपको HK_CLASSES_ROOT\CLSID कुंजी के तहत एक परिणाम मिलना चाहिए। दाईं ओर, इसमें दो कुंजियां होनी चाहिए और Default वाली को सेवा का नाम सूचीबद्ध करना चाहिए। मेरे मामले में और शायद आपके भी, यह RuntimeBroker होना चाहिए।

AppID को भी त्रुटि संदेश में सूचीबद्ध से मेल खाना चाहिए। अगला, हमें एक स्क्रिप्ट चलानी होगी ताकि हम इस सेवा के लिए कंपोनेंट सर्विसेज में अनुमतियों में बदलाव कर सकें।
चरण 2 - PowerShell स्क्रिप्ट चलाएं
इस समस्या को ठीक करने के लिए, हमें RuntimeBroker के लिए कंपोनेंट सर्विसेज में कुछ अनुमतियों को संपादित करना होगा, लेकिन इससे पहले कि हम ऐसा कर सकें, हमें एक स्क्रिप्ट चलानी होगी जो हमें उन बदलावों को करने की अनुमति देगी।
PowerShell को एडमिनिस्ट्रेटर के रूप में चलाने के लिए, आपको Start पर क्लिक करना होगा, powershell टाइप करना होगा और फिर परिणाम पर राइट-क्लिक करके Run as administrator चुनना होगा।

अब यहां लिंक की गई टेक्स्ट फ़ाइल डाउनलोड करें और सारा कोड कॉपी करके PowerShell विंडो में पेस्ट करें (यदि आप PowerShell विंडो में राइट-क्लिक करते हैं, तो यह क्लिपबोर्ड में जो कुछ भी है उसे पेस्ट कर देगा)। फिर बस Enter दबाएं और आपको Done शब्द प्रिंट हुआ दिखाई देना चाहिए।

चरण 3 - कंपोनेंट सर्विसेज खोलें
आप Component Services को ठीक वैसे ही खोल सकते हैं जैसे आपने चरण 2 में PowerShell खोला था। स्टार्ट पर क्लिक करें और component services टाइप करें। आपको इस प्रोग्राम को एडमिनिस्ट्रेटर के रूप में चलाने की आवश्यकता नहीं है। एक बार वहां, निम्न स्थान पर नेविगेट करें:
Component Services - Computers - My Computer - DCOM Config

नीचे स्क्रॉल करें जब तक आपको Runtime Broker न मिल जाए। मेरे मामले में, उनमें से दो थे! आप कैसे जानते हैं कि त्रुटि में कौन सा सूचीबद्ध है?

उनमें से प्रत्येक पर राइट-क्लिक करें और Properties चुनें। General टैब पर, आपको Application ID दिखाई देगा, जो त्रुटि संदेश से AppID से मेल खाना चाहिए। यदि आपको इवेंट व्यूअर में 10016 ID की त्रुटियां मिल रही हैं और एक से अधिक CLSID हैं, तो हो सकता है कि दोनों RuntimeBrokers को ठीक करने की आवश्यकता हो। मेरे मामले में, मुझे केवल एक को ठीक करना था।
चरण 4 - अनुमतियां सही करें
अंत में, हमें अनुमतियों को संशोधित करने की आवश्यकता है। RuntimeBroker प्रॉपर्टीज विंडो में रहते हुए, Security टैब पर क्लिक करें।

Launch and Activation Permissions के तहत Edit बटन क्लिक करने योग्य होना चाहिए। यदि यह ग्रे आउट है, तो PowerShell स्क्रिप्ट सही ढंग से नहीं चली। जब आप Edit पर क्लिक करते हैं, तो आपको अनधिकृत अनुमतियों के बारे में चेतावनी देने वाला एक पॉपअप डायलॉग दिखाई दे सकता है।

यहां आप Remove पर क्लिक **नहीं** करना चाहते। बस Cancel बटन पर क्लिक करें। अब आपको डिफ़ॉल्ट अकाउंट की एक सूची दिखाई देगी और आपको Account Unknown भी सूचीबद्ध दिखाई दे सकता है।

आप यह सुनिश्चित करना चाहते हैं कि Account Unknown को वैसे ही छोड़ दें। इसे न हटाएं। इस बिंदु पर, आपको ALL APPLICATION PACKAGES और SELF बचे होने चाहिए। अब हमें दो अकाउंट जोड़ने होंगे। Add पर क्लिक करें और System टाइप करें और फिर Check Names पर क्लिक करें। OK पर क्लिक करें और यह उस अकाउंट को सूची में जोड़ देगा।

Add पर फिर से क्लिक करें और इस बार Local Service टाइप करें और वही चरण दोहराएं।

एक बार दोनों जोड़ दिए जाने के बाद, उनमें से प्रत्येक पर एक-एक करके क्लिक करें और Allow के तहत Local Launch और Local Activation चेकबॉक्स चुनें। बस इतना ही! अब आगे बढ़ें और अपने कंप्यूटर को पुनरारंभ करें और आपको अब वह त्रुटि इवेंट व्यूअर लॉग में दिखाई नहीं देनी चाहिए। आनंद लें!