विंडोज एक्सपी और विंडोज विस्टा/7 के बीच जो बड़ी चीज बदली, वह यूएसी की शुरूआत है, जिसका अर्थ है कि उपयोगकर्ता, भले ही प्रशासक के रूप में बनाए गए हों, उनके पास "महत्वपूर्ण" स्थानों जैसे %programfiles%
(आमतौर पर C:\Program Files
या C:\Program Files (x86)
) निर्देशिका। यही कारण है कि आपका एप्लिकेशन विंडोज एक्सपी पर काम करता है न कि विंडोज विस्टा पर।
आपको अपना डेटा . स्टोर करना होगा %programdata%
. में निर्देशिका (जो आमतौर पर C:\ProgramData
. है ) यदि डेटा मशीन पर उपयोगकर्ताओं के बीच साझा किया जाता है या %appdata%
(जो आमतौर पर C:\Users\USERNAME_GOES_HERE\AppData\Roaming
है ) यदि यह किसी दिए गए उपयोगकर्ता के लिए विशिष्ट है। अब आपको फ़ाइल में लिखने में असमर्थ होने की समस्या का सामना नहीं करना पड़ेगा।
इसका कारण यह है कि अपने प्रोग्राम की स्थापना निर्देशिका में डेटा संग्रहीत करके आप गलत काम कर रहे थे . विंडोज़ ने आपको पहले ऐसा करने से नहीं रोका था, लेकिन यह काफी व्यापक रूप से प्रलेखित था कि %programfiles%
डेटा स्टोर करने के लिए उपयुक्त स्थान नहीं था।