मैं कैसे पता लगा सकता हूँ कि क्या .NET फ़्रेमवर्क संस्करण और सर्विस पैक स्थापित हैं?



Answers

एक आधिकारिक माइक्रोसॉफ्ट के पास इस प्रश्न का निम्नलिखित ज्ञान आधार आलेख है:

आलेख ID: 318785 - अंतिम समीक्षा: 7 नवंबर, 2008 - संशोधन: 20.1 .NET Framework के कौन सा संस्करण स्थापित हैं और यह निर्धारित करने के लिए कि सर्विस पैक लागू किया गया है या नहीं

दुर्भाग्य से, यह काम करने के लिए प्रकट नहीं होता है, क्योंकि 2.0 निर्देशिका में mscorlib.dll संस्करण 2.0 संस्करण है, और 3.0 या 3.5 निर्देशिकाओं में कोई भी mscorlib.dll संस्करण नहीं है, हालांकि 3.5 एसपी 1 स्थापित है ... क्यों क्या आधिकारिक माइक्रोसॉफ्ट का जवाब इतना गलत है?

Question

एक समान प्रश्न यहां पूछा गया था, लेकिन यह नेट 3.5 के लिए विशिष्ट था। विशेष रूप से, मैं निम्न के लिए देख रहा हूं:

  1. यह निर्धारित करने का सही तरीका क्या है कि कौन सा .NET Framework संस्करण और सर्विस पैक स्थापित हैं?
  2. क्या रजिस्ट्री कुंजियों की एक सूची है जिसका उपयोग किया जा सकता है?
  3. क्या फ्रेमवर्क संस्करणों के बीच कोई निर्भरता है?






विंडोज 7 में (इसे विंडोज 8 के लिए भी काम करना चाहिए, लेकिन मैंने इसका परीक्षण नहीं किया है):

कमांड प्रॉम्प्ट पर जाएं

कमांड प्रॉम्प्ट पर जाने के लिए चरणः

  1. प्रारंभ मेनू पर क्लिक करें
  2. खोज बॉक्स में टाइप करें "cmd" (उद्धरण रहित)
  3. ओपन सीएमडी.एक्सए

सीएमडी में, यह कमांड टाइप करें

wmic /namespace:\\root\cimv2 path win32_product where "name like '%%.NET%%'" get version

यह संस्थापित एनईटी फ्रेमवर्क का नवीनतम संस्करण देता है।

कोई भी इसके लिए रेमंड। सीसी यूरीलेटिज की भी कोशिश कर सकता है।







.NET 4.5.1 के लिए अद्यतन

अब जबकि .NET 4.5.1 उपलब्ध है, रजिस्ट्री में रिलीज की कुंजी नाम के वास्तविक मान की जांच की जानी चाहिए, न कि इसकी मौजूदगी। 378758 का मान इसका अर्थ है कि .NET Framework 4.5.1 स्थापित है। हालांकि, जैसा कि यहां बताया गया है कि यह मान विंडोज 8.1 पर 378675 है।




HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP की उपकुंजियों की गणना करें प्रत्येक उपकुंजी एक .NET संस्करण है। यह Install=1 मूल्य होना चाहिए, अगर यह मशीन पर मौजूद है, एक सपा मान जो सेवा पैक और एक MSI=1 मान दिखाता है कि यह MSI का उपयोग करके स्थापित किया गया था। (Windows Vista में .NET 2.0 उदाहरण के लिए अंतिम नहीं है, क्योंकि यह ओएस का हिस्सा है।)




मुझे यह पता लगाना था कि मेरे कंप्यूटर पर जो .NET ढाँचा का संस्करण था, और मैंने जो किया था, वह नियंत्रण कक्ष में गया और "एक प्रोग्राम अनइंस्टॉल करें" विकल्प का चयन करें। इसके बाद, मैंने कार्यक्रमों को नाम से सॉर्ट किया, और Microsoft .NET Framework 4 क्लाइंट प्रोफाइल को मिला।




एफडब्ल्यूआईडब्ल्यू ... यहां एक और समाधान है जो वास्तविक दुनिया में व्यापक रूप से परीक्षण किया गया लगता है (लेकिन यह सी में है)




SignumFramework से Signum.Utilities पुस्तकालय का उपयोग करना (जो आप अकेले उपयोग कर सकते हैं), आप इसे अच्छी तरह से और अपने आप से रजिस्ट्री से निपटने के बिना प्राप्त कर सकते हैं:

AboutTools.FrameworkVersions().ToConsole();
//Writes in my machine:
//v2.0.50727 SP2
//v3.0 SP2
//v3.5 SP1





Links