मुखपृष्ठ » कैसे » रजिस्ट्री से सभी प्रासंगिक मूल्यों को हटाने के लिए सामान्य सॉफ़्टवेयर अनइंस्टॉल क्यों विफल होते हैं?

    रजिस्ट्री से सभी प्रासंगिक मूल्यों को हटाने के लिए सामान्य सॉफ़्टवेयर अनइंस्टॉल क्यों विफल होते हैं?

    जब आप किसी प्रोग्राम की स्थापना रद्द करते हैं, तो यह एक "उचित" उम्मीद है कि इसके सभी निशान आपके सिस्टम से हटा दिए जाएंगे, लेकिन ऐसा अक्सर नहीं होता है। ऐसा क्यों है? आज के SuperUser Q & A पोस्ट में एक जिज्ञासु पाठक के प्रश्न के उत्तर हैं.

    आज का प्रश्न और उत्तर सत्र सुपरयूज़र के सौजन्य से आता है-स्टैक एक्सचेंज का एक उपखंड, क्यू एंड ए वेब साइटों का एक समुदाय-संचालित समूह है।.

    वांडरसिक (फ़्लिकर) का स्क्रीनशॉट सौजन्य.

    प्रश्न

    सुपरयूज़र रीडर मार्क बोल्डर जानना चाहते हैं कि कुछ रजिस्ट्री मान हमेशा एक सामान्य सॉफ़्टवेयर अनइंस्टॉल के बाद ही क्यों रहते हैं:

    SuperUser विषय पर विस्तार करना मैं रजिस्ट्री से अनइंस्टॉल किए गए सॉफ़्टवेयर के अवशिष्ट अंशों को कैसे हटाता हूं, ऐसा क्यों होता है कि हर बार जब मैं किसी प्रोग्राम की स्थापना रद्द करता हूं और फिर बाद में RegEdit के माध्यम से इसे देखता हूं, यह अभी भी है?

    Windows अनुप्रयोगों के अधिकांश रजिस्ट्री में खुद के छोटे छोटे निशान छोड़ने पर इतने इरादे क्यों हैं? क्या गलती विंडोज या डेवलपर्स के साथ है?

    आम तौर पर सॉफ्टवेयर की स्थापना रद्द करने के बाद रजिस्ट्री मान आमतौर पर "पीछे" क्यों होते हैं?

    उत्तर

    सुपरयूजर योगदानकर्ता लुकास रिगर और केल्टारी का जवाब हमारे लिए है। सबसे पहले, लुकास रिगर:

    क्योंकि यह असंभव है। रजिस्ट्री में कई रूट नोड हैं, लेकिन केवल दो दिलचस्प हैं: लोकलमैचिन और करंट। सामान्यतया, सेटअप LocalMachine में मान लिखता है, और रनिंग प्रोग्राम केवल CurrentUser में लिखता है (वास्तव में, जब तक सेटअप अनुमतियों के साथ गड़बड़ नहीं करता, रनिंग प्रोग्राम LocalMachine में नहीं लिख सकता है).

    LocalMachine में बचे हुए को रखने से आलस्य होता है (जैसा कि अन्य उत्तरों द्वारा बताया गया है), CurrentUser भाग को साफ करना संभव नहीं है.

    यदि कोई प्रोग्राम प्रति मशीन स्थापित किया गया है (जो सबसे अधिक हैं) और कई उपयोगकर्ता इसका उपयोग करते हैं, तो अनइंस्टॉलर को क्या करना चाहिए? यह वर्तमान खाते की उपयोगकर्ता सेटिंग को सुरक्षित रूप से निकाल सकता है, लेकिन वर्तमान खाता आपका खाता नहीं हो सकता है। ऐसा तब होता है जब आपने एक गैर-व्यवस्थापक खाते से अनइंस्टॉलर शुरू किया और फिर एक व्यवस्थापक खाते की साख दर्ज की, सेटअप अब उस खाते के तहत चल रहा है, पहले वाला नहीं.

    अन्य उपयोगकर्ताओं के बारे में क्या? यह सभी उपयोगकर्ताओं की गणना करने की कोशिश कर सकता है, लेकिन उनकी रजिस्ट्री कुंजी लोड नहीं की जा सकती है (Windows आलसी है और केवल उन चीजों को लोड करता है जो इसकी आवश्यकता है).

    लेकिन आपको वह कोशिश भी नहीं करनी चाहिए। यदि आप रोमिंग प्रोफ़ाइल (यानी टर्मिनल सेवाओं) का उपयोग करते हैं और फिर स्थापना रद्द करने पर सभी सेटिंग्स हटाते हैं, तो आप वास्तव में गड़बड़ कर सकते हैं और उस सामान को हटा सकते हैं जो वास्तव में अभी भी उपयोग में है। एक टर्मिनल सर्वर मूल रूप से एक विंडोज मशीन है जहां कई उपयोगकर्ता एक ही समय में लॉग-इन करते हैं और एप्लिकेशन का उपयोग करते हैं। मान लें कि आपके पास दो टर्मिनल सर्वर हैं जो एक एप्लिकेशन चला रहे हैं। आप TS1 पर एप्लिकेशन को अनइंस्टॉल करते हैं, अब सभी उपयोगकर्ताओं के लिए सभी सेटिंग्स TS2 पर चली गई हैं क्योंकि आपके पास रोमिंग प्रोफ़ाइल हैं। उफ़.

    वही प्रति-उपयोगकर्ता निर्देशिकाओं में फ़ाइलों पर भी लागू होता है। मेरी कंपनी के कार्यक्रमों के सेटअप में, मैं प्रति-मशीन सामान को हटाता हूं, लेकिन प्रति-उपयोगकर्ता सामान को नहीं छूता हूं, यहां तक ​​कि उपयोगकर्ता जो सेटअप को चला रहा है.

    केल्टरी से जवाब के बाद:

    ऐसा होने के कई कारण हैं, हालाँकि, यह Microsoft या विंडोज ऑपरेटिंग सिस्टम की गलती नहीं है.

    निम्नलिखित कुछ मामलों और कारणों की एक सूची है जो रजिस्ट्री प्रविष्टियों को पीछे छोड़ दिया गया है:

    खराब प्रोग्रामिंग - डेवलपर ने एप्लिकेशन अनइंस्टालर को ठीक से नहीं लिखा था और रजिस्ट्री प्रविष्टियां पीछे रह गई हैं। उस के अलावा, अनइंस्टालर रजिस्ट्री प्रविष्टियों को हटाने के लिए उचित अनुमतियों का उपयोग नहीं कर सकता / सकती है। यह भी हो सकता है कि उन कुंजियों का उपयोग करने वाले एक से अधिक अनुप्रयोग हैं। उदाहरण के लिए, एक ही डेवलपर के दो एप्लिकेशन जो एक ही कुंजी पर लिखते हैं.

    उद्देश्य पर छोड़ दिया - जैसा कि एक टिप्पणी में उल्लेख किया गया है, इन प्रविष्टियों को उद्देश्य पर छोड़ा जा सकता था। कुछ अनुप्रयोगों की एक परीक्षण अवधि होती है और, उस अवधि के बाद, आप आवेदन को हटाने का विकल्प चुन सकते हैं। यदि आप बाद में एप्लिकेशन को फिर से इंस्टॉल करना चुनते हैं, तो वे कुंजियाँ एप्लिकेशन की जानकारी तब देती हैं जब इसे इंस्टॉल किया गया था। इसके अलावा, कुछ डेवलपर्स उन कुंजियों को छोड़ने का विकल्प चुन सकते हैं, जब आप एप्लिकेशन को पुनर्स्थापित करने के लिए चुनते हैं। यदि डेवलपर आपके अनुकूलन को संग्रहीत करने के लिए रजिस्ट्री कुंजियों का उपयोग करता है, तो वे उन्हें वहां छोड़ सकते हैं ताकि जब आप एप्लिकेशन को पुनर्स्थापित करें, तो आपके सभी अनुकूलन जारी रहें। चीजों की भव्य योजना में, रजिस्ट्री कुंजी केवल कुछ बाइट्स लेती हैं.

    क्या आपको चाबी निकालनी चाहिए? वह निर्भर करता है। Windows रजिस्ट्री में गड़बड़ करने के लिए एक खतरनाक जगह है। आप अनजाने में अपने सिस्टम को तोड़ सकते हैं। बाहरी कुंजी को छोड़ने से सिस्टम को नुकसान नहीं होगा। कुछ लोग कहेंगे कि रजिस्ट्री की सफाई / अवहेलना आपके सिस्टम को गति देगी, लेकिन यह बार-बार गलत साबित हुआ है.

    यदि आप वास्तव में उन कार्यक्रमों से छुटकारा पाना चाहते हैं, तो कुछ अनइंस्टालर उपकरण हैं जो किसी प्रोग्राम के प्रत्येक ट्रेस को निकाल सकते हैं। ये प्रोग्राम किसी अन्य प्रोग्राम के इंस्टॉलर को देखेंगे और फाइल सिस्टम और रजिस्ट्री में किए गए सभी कार्यों को रिकॉर्ड करेंगे, फिर उन कार्यों को पूरी तरह से हटा देंगे। इन उपकरणों के साथ एक मुद्दा यह है कि यह संभव है कि वे उन चीजों को हटा सकते हैं जिन्हें आप रखना चाहते हैं.


    स्पष्टीकरण में कुछ जोड़ना है? टिप्पणियों में विचार व्यक्त करो। अन्य टेक-सेवी स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तर पढ़ना चाहते हैं? पूरी चर्चा धागा यहाँ देखें.