मेरे आवेदन में मुझे एक ज्ञात और अनुमानित स्थान में 'वैश्विक' (यानी उपयोगकर्ता विशिष्ट नहीं) सेटिंग स्टोर करने की आवश्यकता है।एक मानक उपयोगकर्ता के रूप में 'वैश्विक' डेटा सहेजा जा रहा है?
मैं चाहता हूं कि एप्लिकेशन कहीं भी (मानक उपयोगकर्ता, व्यवस्थापक नहीं) के रूप में चलाने में सक्षम हो, जिसमें विभिन्न स्थानों से कई प्रतियां शामिल हों और सहेजी गई कॉन्फ़िगरेशन फ़ाइलों को पढ़ने और लिखने में सक्षम हों।
डेटा को सभी मानक उपयोगकर्ताओं के लिए दी गई पहुंच को पढ़ने और लिखने की आवश्यकता है, केवल एक ही नहीं।
इसे ध्यान में रखते, चार विकल्प यहां दर्शाई गई अनुपयुक्त हैं: http://msdn.microsoft.com/en-us/library/bb206295(VS.85).aspx#ID0E1BA
तो मेरी विकल्प क्या हैं?
मेरा आवेदन सी ++ में और केवल विंडोज के लिए लिखा गया है। मुझे विंडोज एक्सपी और ऊपर का समर्थन करने की जरूरत है।
धन्यवाद।
संपादित करें:
, स्पष्ट करने के लिए दौड़ की स्थिति कई उदाहरण की वजह से ध्यान न दें। डेटा को स्टोर करने के लिए यह सवाल पूरी तरह से करना है। मुझे लगता है कि है कहीं भी उपयुक्त नहीं देख सकते हैं:
- उम्मीद के मुताबिक (जैसे% APPDATA% \ फू एक 'उम्मीद के मुताबिक' पथ, लेकिन दुर्भाग्य से उपयोगकर्ता के विशिष्ट है)
- ग्लोबल (जैसे% ProgramData% \ फू एक है वैश्विक पथ लेकिन दुर्भाग्य से केवल बनाने उपयोगकर्ता लिखने का उपयोग)
- सुलभ (एक मानक उपयोगकर्ता दी निर्देशिका में नई फ़ाइलें बनाने के लिए सक्षम होने की जरूरत है, इस सिस्टम पर सभी उपयोगकर्ताओं पर लागू)
"आप एक HKLM \ SOFTWARE \ <आप अनुप्रयोग उपकुंजी> के लिए कुछ संस्थापक लिखने हो सकता है" मैं इस व्यापक रूप से वितरित डेस्कटॉप अनुप्रयोगों में किया है। मैं संस्थापक मानक उपयोगकर्ता अनुमतियों इस कुंजी को लिखने के लिए दे दिया है। –
@Jim: मैं मानक उपयोगकर्ताओं द्वारा लिखने योग्य कुछ (जो भी कार्यक्रम निर्देशिका की एक उप-निर्देशिका के लिए किया जा सकता है), क्योंकि मैं यह सोचना एक HKLM उपकुंजी के लिए एसीएल की स्थापना का उल्लेख नहीं था आम तौर पर खराब व्यवहार का माना जाता है (हालांकि मैं मुझे यकीन नहीं है कि मैं सहमत हूं)। मैंने सोचा कि यह भी लोगो प्रमाणीकरण के साथ एक समस्या हो सकती है, हालांकि मुझे लगता है कि अगर सही है या नहीं पता नहीं है। –