WindowsXPとWindowsVista/ 7の間で変わった大きな点は、UACの導入です。つまり、ユーザーは、管理者として作成されたとしても、%programfiles%
(通常、C:\Program Files
またはC:\Program Files (x86)
)ディレクトリ。これが、アプリケーションがWindowsVistaではなくWindowsXPで動作する理由です。
データを保存する必要があります %programdata%
内 ディレクトリ(通常はC:\ProgramData
)データがマシン上のユーザー間で共有されている場合、または%appdata%
(通常はC:\Users\USERNAME_GOES_HERE\AppData\Roaming
)特定のユーザーに固有の場合。これで、ファイルに書き込めないという問題は発生しなくなります。
この理由は、プログラムのインストールディレクトリにデータを保存することで、間違ったことをしているためです。 。 Windowsは以前はこれをやめませんでしたが、%programfiles%
はかなり広く文書化されていました データを保存するのに適切な場所ではありませんでした。