सवाल विंडोज़ में एक बार में आप कई प्रोग्राम अनइंस्टॉल क्यों नहीं कर सकते?


विंडोज़ आपको एक साथ कई प्रोग्राम अनइंस्टॉल या हटाने की अनुमति क्यों नहीं देगा? इसके पीछे तर्क क्या है? क्या यह एक आंतरिक प्रणाली गड़बड़ कर देगा?

मैं एक साथ कई कार्यक्रमों को अनइंस्टॉल करने की तलाश नहीं कर रहा हूं, मैं बस एक कारण ढूंढ रहा हूं कि यह एक विकल्प क्यों नहीं होगा।


96
2018-03-19 15:31


मूल


लोगों को एक साथ सब कुछ अनइंस्टॉल करने से रोकने के लिए ... शायद। - M.Bennett
@ एम। बेनेट मैं भी यही सोच रहा था, लेकिन कई कार्यक्रमों का चयन करने का कोई तरीका नहीं है, इसलिए उपयोगकर्ता वास्तव में दुर्घटना से सबकुछ अनइंस्टॉल नहीं कर सकते हैं। - Jeroen Bollen
दरअसल आप एक साथ कई कार्यक्रमों को हटा सकते हैं, इसका एकमात्र विंडोज इंस्टालर जो आपको कई प्रोग्रामों को अनइंस्टॉल करने से रोकता है, क्योंकि यह केवल स्वयं के एक उदाहरण को अनुमति देता है। प्रोग्राम फ़ाइलों को हटाने के लिए पर्याप्त आसान है, यदि आप चाहें तो प्रोग्राम फ़ाइलों की सभी सामग्री हटा सकते हैं, जो उन प्रोग्रामों को अनइंस्टॉल कर देगा, जो प्रभावी रूप से प्रभावी नहीं हैं। - Ramhound
@ रामहाउंड: आप यहां एकमात्र ऐसा प्रतीत होता है जो पूछताछ के इरादे को सही ढंग से समझता है: वह चाहता है कि सिस्टम प्रोग्राम को अनइंस्टॉल करे में  अनुक्रम। यहां उत्तरदाताओं ने अपने प्रश्न को अलग-अलग समझ लिया: चाहे यह संभव हो एक साथ कई कार्यक्रमों की स्थापना रद्द करें। कहने की जरूरत नहीं है, लिनक्स में यह आसानी से संभव है: आप बस टाइप करें apt-get -y uninstall prog1 prog2 prog3। - Niccolo M.
@NiccoloM मेरा सवाल वास्तव में आप एक साथ क्यों नहीं कर सकते थे। : पी - Jeroen Bollen


जवाब:


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

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

अब, मेरा मानना ​​है कि एमएसआई इंजन एक समय में केवल एक प्रोग्राम को स्थापित करने, संशोधित करने या हटाने के लिए लागू करता है - यदि आप एक चलाने की कोशिश करते हैं .msi जबकि दूसरा अनइंस्टॉल कर रहा है, उदाहरण के लिए, यह या तो चालू नहीं होगा या वर्तमान में अनइंस्टॉल करने के लिए अनइंस्टॉल करने की प्रतीक्षा करेगा। गैर-एमएसआई इंस्टॉलर इस तरह से व्यवहार नहीं कर सकते हैं - क्योंकि वे एमएसआई इंजन का उपयोग नहीं करते हैं। लेकिन इस सुरक्षा डिजाइन के निर्णय के कारण, शायद यही कारण है appwiz.cpl केवल एक अनइंस्टॉलर को एक बार में बुलाए जाने पर जोर देता है।

CCleaner आपको पहले चलने वाले लोगों को समाप्त करने के इंतजार किए बिना अनइंस्टॉलर्स को लात मारने की अनुमति देता है। एमएसआई इंस्टॉलर अभी भी उपरोक्त के कारण समानांतर में काम नहीं करेंगे।


100
2018-03-19 15:49



ध्यान देने योग्य बात यह है कि यूनिक्स-जैसी प्रणालियों पर पैकेज मैनेजर भी एक ही कारण के लिए कई पैकेजों को एक साथ हटाने की कोशिश नहीं करेंगे। यदि आप एकाधिक पैकेज हटाते हैं तो उन्हें एक दूसरे के बाद हटा दिया जाता है, संभवतः प्रत्येक अपने लेनदेन में। - Joey
+1 शानदार जवाब! ध्यान देने योग्य एक बात। यदि आपके पास एक फ़ोल्डर में स्टैंडअलोन एक्जिक्यूटिव्स का समूह है, जैसे कि सीपीयू-जेड, तो एक बार में सभी को अनइंस्टॉल करें (हटाएं)। - MonkeyZeus
@ जॉय यह सच है, लेकिन आप कम से कम * nix पैकेज प्रबंधकों को ऐसा करने के लिए निर्देश दे सकते हैं और वे आदेश का काम करेंगे। मुझे लगता है कि बड़ा मुद्दा यह है कि विंडोज पैकेज प्रबंधन स्तर पर निर्भरता की अवधारणा को समझ में नहीं आता है। - tudor
@ ट्यूडर: मुझे लगता है कि यह अलग-अलग ओएसई पर एप्लिकेशन कैसे प्रबंधित किया जाता है, इसमें केवल एक अंतर है। विंडोज प्रबंधन करता है अनुप्रयोगों, यूनिक्स-पसंद पैकेज प्रबंधक प्रबंधित करते समय, ठीक है, संकुल, जो पुस्तकालय, अनुप्रयोग और इसी तरह की चीजें हो सकती है। विंडोज कर सकते हैं ऐसी चीजों का प्रबंधन करें (यह निश्चित रूप से आंतरिक रूप से ऐसा करता है, उदाहरण के लिए जब आप विंडोज घटकों को सक्षम या अक्षम करते हैं), लेकिन 90-दशक के उत्तरार्ध में तीसरे पक्ष के पुस्तकालय सिस्टम-व्यापी इतने अच्छी तरह से बाहर नहीं निकले, इसलिए अनुप्रयोगों को केवल सभी को बंडल करने के लिए प्रोत्साहित किया जाता है उनकी निर्भरताएं - Joey
@ जॉय मैं तुम्हारा मुद्दा लेता हूं, लेकिन उपयोगकर्ता को दोष दे रहा है (या डेवलपर) ऐसी खुली साझा जगह में दूर नहीं जा रहा है। उपयोगकर्ता केवल एप्लिकेशन देखते हैं, लेकिन एप्लिकेशन केवल संकुल का सबसेट हैं। विभिन्न पुस्तकालयों, यहां तक ​​कि विभिन्न संस्करणों और विक्रेताओं के साथ, बस होना चाहिए कामयाब। इसे प्रबंधित करने के लिए डेवलपर की आवश्यकता सबसे अच्छी थी, आईएमएचओ, और इसके परिणामस्वरूप भारी ब्लोट। विंडोज स्टोर इसमें कुछ अंतर्दृष्टि बनाता है, लेकिन यह अभी भी ऑटोमैजिक निर्भरता रिज़ॉल्यूशन से एक लंबा रास्ता है, जो इस संबंध में * निक्स को इतना आसान बनाता है। - tudor


यह केवल उन प्रोग्रामों पर लागू होता है जो इसका उपयोग करते हैं विंडोज इंस्टालर प्रणाली।

यदि कोई प्रोग्राम अपने स्वयं के (अन) इंस्टॉलर सिस्टम का उपयोग करता है, तो आपको एक ही समय में एक और अनइंस्टॉलर चलाने से रोक नहीं रहा है।

विंडोज इंस्टालर कई कार्यक्रमों द्वारा किए जा रहे संघर्षों से बचने के लिए उदाहरणों की संख्या को सीमित करता है, जबकि वे सिस्टम-व्यापी (अक्सर साझा) सेटिंग्स और फ़ाइलों को बदल रहे हैं।

अधिकांश अनइंस्टॉलर्स ट्रैक करते हैं कि वे क्या बदल रहे हैं ताकि विफल होने पर वे सफलतापूर्वक वापस रोल कर सकें। यदि किसी को किए गए सभी परिवर्तनों (अन्य अनइंस्टॉलर्स द्वारा) के बारे में पता नहीं है तो यह वास्तव में चीजों को काम कर सकता है अगर यह एक असफल इंस्टॉल को वापस रोल करने का प्रयास करता है।

विंडोज इंस्टालर सिस्टम इन अनुप्रयोगों की समस्याओं से बचने में मदद के लिए सभी अनुप्रयोग डेवलपर्स (विंडोज़ पर) के लिए एक एकीकृत प्रणाली होने के इरादे से बनाया गया था।


19
2018-03-19 15:40





अनइंस्टॉलेशन कार्य अक्सर कई प्रोग्रामों द्वारा साझा की जाने वाली फ़ाइलों को संशोधित करते हैं, या सिस्टम फ़ाइलों \ रजिस्ट्री (इसे करने के लिए व्यवस्थापकीय शक्ति की आवश्यकता के लिए आंशिक कारण)। यदि एकाधिक अनइंस्टॉल कार्य एक ही समय में चलते हैं, तो वे संघर्ष कर सकते हैं। यदि आपने कभी "डीएलएल नरक" के साथ भाग लिया है, तो यह वही होगा। अन्य कार्यक्रम या विंडोज़ को एक असंगत स्थिति में छोड़ दिया जा सकता है।


9
2018-03-19 15:40



यह सही जवाब है कि इसका क्या जवाब है। यदि प्रोग्राम "ए" गैर-कोर विंडोज डीएलएल "एक्स" स्थापित करता है तो प्रोग्राम "बी" को इसके इंस्टॉलर में इसकी आवश्यकता होती है, तो यह शायद अनइंस्टॉलर का हिस्सा भी होगा। लेकिन डीएलएल "एक्स" की स्थापना रद्द करने से कार्यक्रम "ए" टूट जाएगा। इसलिए अनइंस्टॉलर आम तौर पर साझा डीएलएल और अन्य फाइलों के बारे में पूछेगा यदि उन्हें हटाया जाना चाहिए। यदि एक साथ चलते हैं, तो इस तरह की प्राप्ति ठीक से काम नहीं कर सका। अंत में, और शायद अधिक महत्वपूर्ण बात यह है कि हर कोई विंडोज रजिस्ट्री भूल गया है - जो डेटाबेस-आईएसएच कोर घटक है जिसे अक्सर इंस्टॉलर्स / अनइंस्टॉलर्स में अपडेट किया जाता है। - Darrell Teague


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


-1
2018-03-20 19:33



यह एक उत्तर के रूप में अप्रासंगिक है। डिस्क I / O से जुड़ी सभी चीज़ों में धीमा होने की संभावना है यदि आप एक साथ कई चीजें करते हैं, लेकिन विंडोज़ वास्तव में एकमात्र चीज है रोकता है आप करने से एक साथ (संयुक्त) स्थापित है। और एक साथ (अन) इंस्टॉल करने में सक्षम होना एक अच्छा कारण है - उपयोगकर्ताओं के लिए संचालन का एक समूह कतार में सक्षम होना बहुत आसान होगा और उन्हें सभी को एक साथ चलने दें, बनाम बैठना और प्रतीक्षा करना प्रत्येक के बदले में पूरा करने के लिए। साथ ही, एसएसडी के साथ विवाद समस्या अप्रचलित है। - Andrew Medico