2013-06-05 8 views
12

मुझे एक अजीब समस्या है: मेरा .NET 4.0 WPF एप्लिकेशन एप्लिकेशनडेटा फ़ोल्डर में डेटा सहेज रहा है।पर्यावरण। SpecialFolder.AplicationData गलत फ़ोल्डर देता है

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\myProgram\\"; 
मामलों की

99.9% महान काम कर रहे हैं, लेकिन कुछ कंप्यूटर पर यह गलत फ़ोल्डर रिटर्न - यह किसी अन्य फ़ोल्डर रिटर्न उपयोगकर्ता फ़ोल्डर लौटने के बजाय:

C:\Users\<user>\AppData\Roaming\myProgram\ --correct 
C:\Users\s\AppData\Roaming\myProgram\  --wrong 

गलत फ़ोल्डर नहीं लिखने है/पढ़ने की अनुमति है इसलिए मेरा प्रोग्राम काम नहीं करता है।

ऐसा लगता है कि कार्यक्रम एक अलग उपयोगकर्ता के तहत चल रहा है, लेकिन यदि मैं कार्य प्रबंधक की जांच करता हूं तो उपयोगकर्ता लॉग इन होता है।

समस्या कुछ डोमेन अनुमतियों के साथ डोमेन उपयोगकर्ताओं के साथ होने लगती है।

+0

क्या आप एक वेब ऐप ऐप करते हैं? –

+0

नहीं, यह एक डब्ल्यूपीएफ ऐप है, फ्रेमवर्क 4.0 –

+14

पैडेंटिक होने के लिए खेद है, लेकिन ** पथ का उपयोग करें। कॉम्बाइन! ** –

उत्तर

8
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 

क्या आप लिखने के लिए एक टेक्स्ट फ़ाइल बनाते हैं ??

और भी आप उदाहरण के लिए एक चर आवंटित करने के लिए, की जरूरत है: फ़ाइल की जाँच करने के

String path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 

if(File.Exists(path + "filetowrite.log")) 
{ 
    ...................... 
} 

भी पहले, देखें कि क्या निर्देशिका existe अधिक सुनिश्चित करने के लिए। अभिवादन मैं आशा करता हूं कि आपकी मदद करें।

+6

हमेशा पथ का उपयोग करें। कॉम्बिन, कभी भी "+" जैसा नहीं पता नहीं है कि पथ बैकस्लाह के साथ समाप्त होता है (या बैकस्लैश का उपयोग करता है)। – nivs1978

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