मेरे पास एक ऐसा एप्लिकेशन है जो .NET (C# विशेष रूप से) में सभी उपयोगकर्ताओं (व्यवस्थापक या सीमित) द्वारा उपयोग योग्य है।सी # सीमित उपयोगकर्ता खाते में चलाए जाने पर व्यवस्थापक द्वारा बनाई गई फ़ाइलों को पढ़/लिख नहीं सकता है XP
जब एप्लिकेशन पहले लॉन्च होता है - यह कुछ फ़ाइलों को बनाता है जिन्हें सी: \ दस्तावेज़ों और सेटिंग्स \ सभी उपयोगकर्ता \ दस्तावेज़ \ में सभी बाद के लॉन्च के लिए आवश्यक है।
तो XP में सीमित उपयोगकर्ता आवेदन यह फ़ाइलें ठीक बनाता है और दोनों सीमित उपयोगकर्ता और प्रशासकों ठीक चला सकते हैं शुरू करने के लिए सबसे पहले उपयोगकर्ता है।
हालांकि अगर प्रशासक (या मैं एक अलग सीमित उपयोगकर्ता का अनुमान लगा रहा हूं) एप्लिकेशन लॉन्च करने वाला पहला व्यक्ति है तो सीमित उपयोगकर्ता एप्लिकेशन को चलाने में सक्षम नहीं है।
दो फाइलें जो इसे प्रशासक द्वारा बनाई गई/पढ़ने के लिए लिखने में सक्षम नहीं हैं, एक लॉग 4नेट लॉग फ़ाइल और SQLite डीबी फ़ाइल है।
SQLite डेटाबेस फ़ाइल को एक स्ट्रेटफोर्ड .NET फ़ाइल.कॉपी (सोर्सपाथ, गंतव्यपाथ) के साथ बनाया जा रहा है। सोर्सपाथ एप्लिकेशन के साथ स्थापित एक बीज डेटाबेस फ़ाइल है - इसलिए पहले इसे कॉपी करें कि सी: \ प्रोग्राम फ़ाइलें \ एप इंस्टॉल \ seed.db
फ़ाइल पर अनुमतियां सेट करने का कोई तरीका है इसे कॉपी करें? File.SetAccessControl() शायद? मैं इस बात पर स्पष्ट नहीं हूं कि यह कैसे काम करता है।
दूसरी समस्या यह है कि log4Net रोलिंग फ़ाइल एपेंडर पुराने फ़ाइल को रोल नहीं करेगा और जब ऐप चलाएगा तो व्यवस्थापक उपयोगकर्ता द्वारा पुरानी फ़ाइल बनाई गई थी।
कोई भी विचार? विडंबना यह है कि Vista में सीमित/व्यवस्थापक खातों के साथ यह सब ठीक तरह से ठीक काम करता है - यह केवल XP/व्यवस्थापक खातों के साथ XP में हो रहा है।
क्यों यह एक ही पीसी पर एकाधिक उपयोगकर्ताओं के बीच फ़ाइलों को साझा कर रहा है? इस लगभग कभी नहीं एक अच्छा निर्णय है। क्यों नहीं बस के रूप में की जरूरत है प्रत्येक व्यक्ति को उपयोगकर्ता के AppData फ़ोल्डर में फ़ाइलें डाल? –