Velká věc, která se mezi Windows XP a Windows Vista/7 změnila, je zavedení UAC, což znamená, že uživatelé, i když jsou vytvořeni jako správci, nemají běžně přístup pro čtení/zápis do „důležitých“ umístění, jako je %programfiles%
(Obvykle C:\Program Files
nebo C:\Program Files (x86)
) adresář. To je důvod, proč vaše aplikace funguje na Windows XP a ne na Windows Vista.
Musíte uložit svá DATA v %programdata%
adresář (což je obvykle C:\ProgramData
), pokud jsou data sdílena mezi uživateli na počítači nebo %appdata%
(což je obvykle C:\Users\USERNAME_GOES_HERE\AppData\Roaming
), pokud je specifický pro daného uživatele. Nyní se již nebudete setkávat s problémem nemožnosti zapisovat do souboru.
Důvodem je to, že ukládáním dat do instalačního adresáře programů jste dělali špatnou věc . Systém Windows vám v tom dříve nezabránil, ale bylo poměrně široce zdokumentováno, že %programfiles%
nebylo vhodné místo pro ukládání dat.