आप जहां रजिस्ट्री सोचता है कि इसके इंस्टॉल हो पाने के लिए निम्न का उपयोग कर सकते हैं:
(string)Registry.LocalMachine.GetValue(@"SOFTWARE\MyApplication\AppPath",
"Installed", null);
या आप जहां आवेदन वास्तव में से शुरू किया जा रहा है पता लगाने के लिए निम्नलिखित का उपयोग कर सकते हैं:
System.Windows.Forms.Application.StartupPath
उत्तरार्द्ध पूर्व की तुलना में अधिक विश्वसनीय है यदि आप .exe
स्थान को संबंधित फ़ाइलों को ढूंढने के सापेक्ष पथ के रूप में उपयोग करने का प्रयास कर रहे हैं। उपयोगकर्ता इंस्टॉल करने के बाद आसानी से चीजों को स्थानांतरित कर सकता है और अभी भी ऐप ठीक काम कर रहा है क्योंकि .NET ऐप्स रजिस्ट्री पर इतना निर्भर नहीं हैं।
StartupPath
का उपयोग करके, आप कुछ चालाक भी कर सकते हैं जैसे कि आपका ऐप गायब/गलत/दूषित प्रविष्टियों के कारण दुर्भाग्य से दुर्घटनाग्रस्त होने की बजाय रन टाइम पर रजिस्ट्री प्रविष्टियों को अपडेट करता है।
और रजिस्ट्री (Properties.Settings.Default.mySettingEtc
) के बजाय मूल्यों के संग्रहण के रूप में ऐप सेटिंग्स कार्यक्षमता को देखना सुनिश्चित करें। आप ऐप और/या उपयोगकर्ता स्तरों के लिए सेटिंग्स को पढ़/लिख सकते हैं जो मानक स्थानों में सरल MyApp.exe.config
फ़ाइलों के रूप में सहेजे जाते हैं। अतीत (अच्छा पुराना विन 3.1/डॉस दिन) से एक अच्छा विस्फोट करने के लिए एप्लिकेशन को इंस्टॉल/डिलीट करने के लिए एक फ़ोल्डर की संरचना की एक साधारण प्रतिलिपि/हटाएं या कुछ ठोस, आर्केन इंस्टॉल/अनइंस्टॉल दिनचर्या के बजाय हटाएं जो सभी प्रकार के कचरे को छोड़ देता है रजिस्ट्री में और सभी हार्ड ड्राइव छिड़क दिया।
स्रोत
2012-10-04 17:56:54
माइक्रोसॉफ्ट की शब्दावली का उपयोग करके, आपके प्रश्न में, 'MyAplication' एक * कुंजी * और 'AppPath' एक * मान * है।आप जो पूछ रहे हैं वह है कि 'ऐपपाथ' से जुड़े * डेटा * को कैसे प्राप्त करें। – DavidRR