2009-05-26 9 views
9

सी # का उपयोग कर विंडोज़ में, मैं सॉफ़्टवेयर का इंस्टॉलेशन पथ कैसे प्राप्त कर सकता हूं (उदाहरण के लिए एनयूनीट या एमएस वर्ड जैसे किसी भी अन्य सॉफ़्टवेयर पर विचार करें) मेरी प्रोजेक्ट से? साथ ही पथ चर को सेट करने के लिए जो हमने पर्यावरण चर में सेट किया है ताकि हम कमांड प्रॉम्प्ट देकर एप्लिकेशन चला सकें।किसी एप्लिकेशन का इंस्टॉलेशन पथ कैसे प्राप्त करें?

जैसे कि मैं "सी: \ प्रोग्राम फ़ाइलें" में NUnit इंस्टॉल करता हूं, मैं इसे cmd प्रॉम्प्ट में 'NUnit' देकर चला सकता हूं लेकिन यदि मैं एक अलग स्थान पर स्थापित करता हूं तो मैं ऐसा नहीं कर सकता। मुझे अपने प्रोजेक्ट से एनयूनीट या मेरे सिस्टम (विंडोज एक्सपी रखने) में स्थापित किसी अन्य सॉफ़्टवेयर का स्थान या पथ प्राप्त करने की आवश्यकता है।

संपादित करें: जैसे मैं रजिस्ट्री से स्थापित प्रोग्राम का मार्ग प्राप्त कर सकता हूं। HKEY_CURRENT_USER-> सॉफ़्टवेयर

उत्तर

11

सिस्टम और एप्लिकेशन कक्षाओं का उपयोग करें। यह आपको सभी प्रकार की जानकारी देगा।

ईजी: Application.ExecutablePath

यह भी है कि तुम क्या चाहते हो करने के तरीकों प्रदान करता है।

संपादित करें: इसके अलावा रजिस्ट्री पढ़ने/लिखने निर्देश यहां देखें:

http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/RegistryKeys102082006061720AM/RegistryKeys1.aspx?ArticleID=0ce07333-c9ab-4a6a-bc5d-44ea2523e232

+0

आपका मतलब है कि मैं अपने आवेदन से किसी भी स्थापित प्रोग्राम का मार्ग प्राप्त करने के लिए इसका उपयोग कर सकता हूं। – SyncMaster

+0

उपरोक्त मेरा संपादन (लिंक) देखें। –

0

की तरह अगर मैं में Nunit स्थापित "C: \ Program फ़ाइलें" मैं यह nunit ' देकर चला सकते हैं cmd प्रॉम्प्ट में, लेकिन अगर मैं में अलग-अलग स्थान स्थापित करता हूं तो मैं वही नहीं कर सकता।

क्या आप Windows Vista का उपयोग कर रहे हैं, जो प्रोग्राम फ़ाइलों में खोज सकते हैं, लेकिन अन्य फ़ोल्डर्स में नहीं देख पाएंगे।

सी # का उपयोग कर खिड़कियों में, कैसे एक सॉफ्टवेयर की स्थापना पथ प्राप्त करने के लिए (उदाहरण के लिए nunit पर विचार करें)।?

यह निर्भर करता है कि आप एप्लिकेशन को कैसे इंस्टॉल कर रहे हैं। इंस्टॉलर पथ जानता है, आप कहीं भी उस पथ को लिखने के लिए इंस्टॉलर प्रोग्राम कर सकते हैं, रजिस्ट्री कहें।

भी कैसे पथ चर है कि हम पर्यावरण चर में सेट ताकि हम सिर्फ कमांड प्रॉम्प्ट में देकर आवेदन चला सकते हैं स्थापित करने के लिए।

How do I get and set Environment variables in C#?

+0

उस लिंक के लिए धन्यवाद। लेकिन मुझे एमएस वर्ड, फ़ायरफ़ॉक्स इत्यादि जैसे किसी भी एप्लीकेशन के इंस्टॉलेशन फ़ोल्डर को प्राप्त करने की आवश्यकता है – SyncMaster

+0

पर्यावरण पथ पथ को पढ़ने का एकमात्र तरीका मैं सोच सकता हूं। पथ विभाजित करें, और सभी फ़ोल्डर्स में खोजें। एक कार्य नहीं होना चाहिए। कुछ छद्म कोड: envPath = System.Environment.GetEnvironmentVariable ('पथ'); स्ट्रिंग [] पथ = envPath.Split (':'); foreach (पथों में स्ट्रिंग पथ) फ़ाइल.इक्सिस्ट (पथ। कॉम्बिन (पथ, फ़ाइल नाम)); –

9
string appFileName = Environment.GetCommandLineArgs()[0]; 

आप निष्पादन का पूरा पथ और

string directory = Path.GetDirectoryName(appFileName); 

निर्देशिका निकालता है दे देंगे।

string envPath = Environment.GetEnvironmentVariable("PATH"); 
Environment.SetEnvironmentVariable(envPath + ";" + yourPath); 

वर्तमान प्रक्रिया के लिए पाथ पर्यावरण चर संपादित करता है।

+0

यह मेरे प्रोजेक्ट के exe का स्थान देता है, लेकिन मुझे किसी भी एप्लिकेशन के इंस्टॉलेशन फ़ोल्डर जैसे एमएस वर्ड, फ़ायरफ़ॉक्स इत्यादि प्राप्त करने की आवश्यकता है – SyncMaster

+0

मैं या तो आपके प्रश्न को पूरी तरह से गलत तरीके से पढ़ता हूं या आपने इसे मेरे उत्तर के बाद बदल दिया है .. – VVS

2

आवेदन। स्टार्टअपपैथ का उपयोग सी # में स्थापना स्थान प्राप्त करने के लिए किया जाता है।

8
Application.ExecutablePath (includes filename) 
Application.StartupPath (not includes filename) 

यह आपको वह मार्ग देगा जहां एप्लिकेशन शुरू हुआ था। उम्मीद है कि यह स्थापना पथ होगा।

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