2009-10-05 8 views
9

.NET 3.5 के लिए संकलित सॉफ़्टवेयर के साथ कितनी दूर है उस सिस्टम पर क्रैश होने से पहले जो .NET 2.0 स्थापित है?सिस्टम पर .NET 3.5 के लिए बनाया गया चल रहा सॉफ़्टवेयर केवल .NET 2.0 स्थापित

मैं जो एप्लीकेशन विकसित कर रहा हूं वह WPF का उपयोग करता है और .NET 3.5 की आवश्यकता है, लेकिन यदि उपयोगकर्ता इसे इंस्टॉल नहीं करता है तो मैं उपयोगकर्ता के अनुकूल संवाद (क्रैश करने के बजाए) प्रदर्शित करना चाहता हूं।

क्या ऐसा करने के लिए कोई मानक तरीका है, या आधिकारिक माइक्रोसॉफ्ट दस्तावेज?


संपादित: एक आदर्श दुनिया में मैं सिर्फ जाँच चाहते हैं कि किसी भी नेट निर्भरता स्थापना के दौरान संतुष्ट हैं। के बाद से कुछ अनुप्रयोगों संस्थापक की जरूरत नहीं है और के बाद से उन संभावित नेट की स्थापना रद्द कर सकता है आवेदन स्थापित किया गया है के बाद, मुझे जवाब मिल नीचे उपयोगी होने के लिए।

+0

यह शायद थोड़ा सा निर्भर करता है कि आपका प्रोग्राम किसी भी 3.5 असेंबली पर निर्भर करता है (उदाहरण के लिए LINQ की तरह)। हालांकि मैं खुद को उत्सुकता से उत्सुक हूं। –

उत्तर

6

यह (संभवतः) तब तक दुर्घटनाग्रस्त नहीं होगा जब तक कि यह 3.5 की आवश्यकता वाले डीएल का उपयोग करने का प्रयास न करे। यदि निष्पादन एप किसी भी 3.5 विशिष्ट डीएलएस का उपयोग करने से पहले संस्करण की जांच कर सकता है, तो आप एक Winform संवाद प्रदर्शित कर सकते हैं और आपको ठीक होना चाहिए। आपकी सबसे सुरक्षित शर्त एक्सई को 2.0 असेंबली बनाने और 3.5 के खिलाफ संकलित एक अलग डीएल में अपनी सभी 3.5 चीजें बनाने के लिए होगी। आप अपनी 3.5 असेंबली लोड करने से पहले 2.0 डीएल में अपनी जांच कर सकते हैं।

3

.NET 3.5 .NET 2.0 रनटाइम का उपयोग करता है, इसलिए एक ऐप पूरी तरह से ठीक शुरू हो जाएगा (हालांकि, यह विफल होगा जब यह 3.5 असेंबली लोड करने का प्रयास करेगा)। आप देख सकते हैं Environment.Version अगर यह .NET 3.5 आप पर चल रहे हैं और मानक MessageBox.Show नहीं तो साथ मौजूद उपयोगकर्ता है देखने के लिए।

+1

Environment.Version केवल CLR के संस्करण, नहीं .NET विधानसभाओं स्थापित इंगित करता है। संस्करण की जांच करने का आधिकारिक तरीका रजिस्ट्री के माध्यम से है: http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-packs-are-installed –

3

क्या आपने क्लिकऑन परिनियोजन का उपयोग करने पर विचार किया है? एजेंट आपके द्वारा निर्दिष्ट किसी भी शर्त आइटम को जांच और इंस्टॉल करेगा, जिसमें नेट शामिल है। यह आपके आवेदन के उन्नयन को काफी दर्द रहित बनाता है।

+0

आप कर सकते हैं इस पर भरोसा न करें - विशेष रूप से कॉर्पोरेट वातावरण में जहां उपयोगकर्ताओं को मशीन – ChrisF

+0

पर व्यवस्थापक पहुंच नहीं होगी यदि उन्हें इंस्टॉल करने के लिए आवश्यक अधिकारों की कमी है, तो कोई भी इंस्टॉल विधि विफल हो जाएगी। –

+0

मेरी विशेष स्थिति में एप्लिकेशन उन सिस्टम पर तैनात किया जाएगा जिनके पास नेटवर्क पहुंच नहीं है। मैंने पहले ClickOnce उपयोग नहीं किया है, लेकिन यह ज्यादातर स्थितियों के लिए एक अच्छी समाधान की तरह प्रतीत होता है। –

संबंधित मुद्दे