2010-04-10 10 views
6

विंडोज विस्टा तक मैंने अपना एप्लिकेशन डेटा उस निर्देशिका में सहेजा जहां प्रोग्राम स्थित था। सबसे आम जगह "सी: \ प्रोग्राम फ़ाइलें \ MyAplication" थी। जैसा कि हम जानते हैं, Vista के तहत और बाद में आम उपयोगकर्ता को "प्रोग्राम फ़ाइलें" फ़ोल्डर के अंतर्गत लिखने का अधिकार नहीं है। तो मेरा पहला विचार "सभी उपयोगकर्ता \ एप्लिकेशन डेटा" फ़ोल्डर के तहत एप्लिकेशन डेटा को सहेजना था। लेकिन ऐसा लगता है कि इस फ़ोल्डर में लेखन प्रतिबंध भी हैं!सभी उपयोगकर्ताओं के लिए पढ़ने लिखने के अधिकार के साथ आवेदन डेटा स्टोर करने के लिए सबसे अच्छी निर्देशिका?

तो योग करने के लिए, मेरे आवश्यकताएँ हैं:

  • फ़ोल्डर Windows XP और इसके बाद के संस्करण के अंतर्गत मौजूद होना चाहिए।
  • सिस्टम के सभी उपयोगकर्ताओं को इस फ़ोल्डर और इसके सबफ़ोल्डर और फ़ाइलों को पढ़ने \ लिखने के निर्माण अधिकार होना चाहिए था।
  • मैं केवल एक सभी उपयोगकर्ताओं के लिए फ़ाइल \ फ़ाइलों की प्रतिलिपि बनाना चाहता हूं।

उत्तर

2

पर्यावरण चर का उपयोग करना अक्सर अच्छा होता है ताकि आप चीजों को और अधिक सामान्य बना सकें।

Vista ने कुछ चीजें बदल दी हैं, एनटीएफएस जंक्शन पॉइंट्स के साथ। देखें http://www.svrops.com/svrops/articles/jpoints.htm

वैसे भी,% AppData% का उपयोग पूर्ण रूप से अपने/7

+1

% एपडाटा% एक साझा लिखने योग्य आम क्षेत्र नहीं है, है ना? – RBarryYoung

+0

मेरा मतलब विंडोज सिटम्स के प्रत्येक उपयोगकर्ता का है। – Wodzu

1

XP/Vista पर उचित स्थान पर फ़ाइलें रखना चाहिए ऐसी कोई स्थान नहीं है। यहां तक ​​कि विंडोज एक्सपी (और शायद 2000 भी) पर ऐसा कोई स्थान कभी अस्तित्व में नहीं था; हम बस ऐसा सोचते हैं क्योंकि हम सभी प्रशासनिक विशेषाधिकारों के साथ भाग गए थे। यह तब तक नहीं है जब तक Vista हमें सीमित उपयोगकर्ता के रूप में चलाने के लिए मजबूर नहीं करता है कि हम अपनी ग़लत धारणाओं को महसूस करते हैं। आपको अपनी निर्देशिका पर अनुमतियों को स्पष्ट रूप से सेट करना होगा।

+0

धन्यवाद ल्यूक, मुझे लगता है कि मैं व्यवस्थापक खाते के तहत स्थापना प्रक्रिया के दौरान विशेषाधिकार स्थापित करूंगा। – Wodzu

+0

यदि ऐसा कोई स्थान नहीं है, तो .NET की System.Windows.Forms.Aplication.CommonAppDataPath (आमतौर पर सी: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ अनुप्रयोग डेटा \ CompanyName \ ProductName \ VersionNum को हल करता है)? –

+1

सभी उपयोगकर्ता \ अनुप्रयोग डेटा के लिए डिफ़ॉल्ट अनुमतियां सीमित उपयोगकर्ता खातों तक पूर्ण पहुंच प्रदान नहीं करती हैं। यदि कोई व्यवस्थापकीय उपयोगकर्ता वहां फ़ाइल बनाता है, तो सीमित उपयोगकर्ता को उस फ़ाइल में लेखन पहुंच नहीं होगी। ऐसा लगता है कि मूल प्रश्न वास्तव में इसे पूरा करने की कोशिश कर रहा था, इसलिए डीएसीएल को संशोधित करना आवश्यक है। – Luke

0

मैं सभी उपयोगकर्ता \ अनुप्रयोग डेटा \ YourAppName \ Shared जैसे सबफ़ोल्डर बनाउंगा, ताकि यह स्पष्ट हो कि केवल उस फ़ोल्डर में सभी उपयोगकर्ताओं द्वारा लिखित फाइलें होंगी, इंस्टॉलर में विशेषाधिकार स्थापित करें।

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

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