2010-11-29 10 views
5

मैं ऐसे ऐप पर काम कर रहा हूं जो Path.GetDirectoryName(FilePath) में फ़ाइल सहेजता है जहां FilePath = Application.ExecutablePath है जिसमें लाइसेंसिंग के बारे में कुछ जानकारी है। यदि मैं वीएस से प्रोग्राम चलाता हूं तो यह ठीक काम करता है लेकिन अगर मैं इंस्टॉलर बना देता हूं और इंस्टॉल करता हूं और फिर इसे चलाता हूं, तो प्रोग्राम सोचता है कि फ़ाइल पहले से मौजूद है। मैंने अपने प्रोग्राम को FilePath पर एक संदेश बॉक्स पर दिखाने के लिए बदल दिया और File.Exists(FilePath)true या false देता है। तो मैंने उस पथ में देखा, छिपी हुई और सिस्टम फ़ाइलों को दिखाया, F5'd कई बार और कुछ भी नहीं। फ़ाइल मौजूद नहीं है, लेकिन File.Exists(FilePath) सच है। कोई विचार यह क्यों ठंडा हो रहा है और मैं इसके आसपास कैसे काम कर सकता हूं?फ़ाइल.इक्सिस्ट मौजूद फ़ाइल के लिए सत्य लौट रहे हैं

मैं विंडोज विस्टा, विजुअल स्टूडियो 2010, सी # का उपयोग कर रहा हूं और वीएस की सेटअप परियोजना के साथ अपना इंस्टॉलर बनाया है।

संपादित करें: मेरे मार्ग है: C: \ Program Files (x86) \ हीलियम \ License.xml

यह मेरा कोड का हिस्सा है:

 MessageBox.Show("LicenseFileName: " + LicenseFileName); // LicenseFileName: C:\Program Files (x86)\Helium\License.xml 
     System.Diagnostics.Process.Start(LicenseFileName);  // Nothing happens 
     MessageBox.Show("File.Exists(LicenseFileName): " + File.Exists(LicenseFileName)); // File.Exists(LicenseFileName): true 

कहना है कि मैं पहले से ही आवेदन से पहले स्थापित इसलिए इस्तेमाल किया फ़ाइल मौजूद पड़ा भूल। मैं नियंत्रण कक्ष का उपयोग कर अनइंस्टॉल किया।

+0

में कहीं भी स्थित हो सकती हैं क्या यह एक पूर्ण पथ या सापेक्ष पथ है? हमें दिखा रहा है कि वास्तविक पथ भी मदद कर सकता है। – bblack

+2

रन के माध्यम से फ़ाइल खोलने का प्रयास करें। यह सुपर छुपाया जा सकता है। इसके अलावा, मैं कुछ भी के लिए - विंडोज विस्टा का उपयोग नहीं करने की सलाह दूंगा। –

+2

क्या आप सचमुच 'फाइलपाथ = एप्लिकेशन' एक्सटेरटेबलपैथ कह रहे हैं; फाइल.एक्सिस्ट्स (फाइलपाथ); '? यहां एक और पूर्ण कोड नमूना उपयोगी होगा। – Sorpigal

उत्तर

18

यदि आप किसी सिस्टम फ़ोल्डर में स्थापित कर रहे हैं, तो यह संभव है कि Windows फ़ाइल वर्चुअलाइजेशन ने फ़ाइलों की प्रति उपयोगकर्ता प्रतिलिपि बनाई और बनाई। तो आपकी फाइलें% userprofile% \ AppData \ Local \ VirtualStore फ़ोल्डर

+0

यूप। यही वह जगह है। – Juan

+0

हाँ, मैंने उसे ट्रैक करने से पहले दूसरे दिन बर्बाद कर दिया, मुझे लगता है कि मुझे एसओ पर भी पूछना चाहिए :) – skajfes

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