2010-09-23 19 views
6

से नेट फ्रेमवर्क संस्करण पर जांचें .NET 3.5 पर लिखे गए WinForms एप्लिकेशन की शुरुआत पर .net फ्रेमवर्क संस्करण को कैसे जांचें? यदि .NET 3.5 स्थापित नहीं है, तो एप्लिकेशन को इसके बारे में संदेश दिखाना चाहिए (.net इंस्टॉलर या किसी अन्य पर लिंक के साथ हो सकता है)। अब यह कुछ त्रुटि दिखाता है जो उपयोगकर्ता के लिए स्पष्ट नहीं है।WinForms एप

+2

नेट 3.5 फ्रेमवर्क स्थापित नहीं होने पर आप अपने .NET 3.5 ऐप को चलाने की अपेक्षा कैसे करते हैं?क्या आप इसमें कैच -22 देखते हैं? – slugster

+0

++++ स्लगस्टर !!! – Aliostad

उत्तर

2

इस सी ++ प्रोजेक्ट को देखें जो आप जो करना चाहते हैं उसे करना चाहिए।

http://www.codeproject.com/KB/mcpp/DotNetTester.aspx

आप सिर्फ इतना है कि एप्लिकेशन, जो बारी में अपनी .net एप्लिकेशन लॉन्च शुरू करने के लिए अपने शॉर्टकट सेट चाहते हैं।

परियोजना विवरण से:

उदाहरण के लिए (परिवार कल्याण 1.1 की एक न्यूनतम के लिए परीक्षण और एक आवेदन शुरू):

dotNetTester.exe 1.1 C: \ अस्थायी \ Myapp.exeC: \ अस्थायी \ Myapp.exe

2

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

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

2

ऐसा करना एक .NET 3.5 एप्लिकेशन में करना मुश्किल हो रहा है, क्योंकि आप उस बिंदु तक कभी नहीं पहुंचते हैं जहां आपका एप्लिकेशन शुरू होता है।

आम तौर पर यह लॉन्च की स्थिति जोड़कर, एप्लिकेशन के लिए इंस्टॉलर में किया जाता है। देखें http://support.microsoft.com/kb/315291

संपादित करें: मैं एक लेख में बताया गया है कि (जैसा कि ho1 के जवाब में सुझाव दिया) कैसे अपने .NET अनुप्रयोग शुरू होने से पहले चलाने के लिए एक अप्रबंधित आवेदन लिखने के लिए http://blogs.msdn.com/b/astebner/archive/2009/01/31/9387659.aspx

1

मैं फिर से पढ़ अपने प्रश्न पाया - आप नहीं कर सकते .NET x ver ऐप चलाएं जब .NET x स्थापित नहीं है! समाप्त।

आप इसे स्थापित किया है, तो आप कौन सा संस्करण उपयोग कर रहे हैं पता लगाने के लिए अन्य purpose-

उपयोग System.Environment.Version के लिए।

स्थापित सभी संस्करणों के बारे में जानने के लिए, check this

HKEY_LOCAL_MACHINE \ सॉफ़्टवेयर \ Microsoft \ NET Framework सेटअप \ NDP की उपकुंजियों का आकलन करें। प्रत्येक उपकुंजी एक नेट संस्करण है। यदि यह मशीन पर मौजूद है तो इसे इंस्टॉल = 1 मान होना चाहिए, एक एसपी मान जो सेवा पैक और एक एमएसआई = 1 मान दिखाता है अगर इसे किसी एमएसआई का उपयोग करके स्थापित किया गया था। (नेट 2.0 Vista पर, उदाहरण के लिए पिछले एक नहीं है के रूप में यह ओएस का हिस्सा है)

आप इस रजिस्ट्री कुंजी का उपयोग कर सकते "\ Microsoft \ नेट फ्रेमवर्क सेटअप HKEY_LOCAL_MACHINE \ SOFTWARE \ NDP" और मूल्यों पर फिर से शुरू करें।

+0

यहां एक चिंता है: यदि फ्रेमवर्क 4.0 स्थापित नहीं है, जबकि 3.5 नहीं है ... –

+0

मैंने सवाल फिर से पढ़ा, डैनी, और मेरा जवाब सही कर दिया है। – Nayan