C:¥Program Files 以下のフォルダのファイルに書き込みを行うとどこかへ行ってしまう。
アプリケーションのインストール・フォルダのファイルを変更しても、エクスプローラーで確認すると古い日付のまま、どうも書き換えられていないように見える。
でも、アプリケーションから開くと変更済みのファイルが開かれる。(なんで?)
これはVistaから導入された「互換性ファイル」という仕組みが原因のようです。
アプリケーションからProgram Filesへ書き込まれたファイルは「互換性ファイル」として自動的に別のフォルダに書き出されます。アプリケーションから見る限りは、さもProgram Filesに書き込まれているように見えるため、ひとまず動作には問題ありません。
ただ、実態はまったく別のフォルダに書き込まれるため、エクスプローラーからはもともとのファイルのみが見えてしまい書き換えられていないように見えます。
それでも動作に問題なければいいんですが、他のユーザーと共有したいファイル、たとえばアプリケーションのライブラリファイルなど、せっかく直しても他のユーザーでログオンすると変更前のファイルが参照されてしまいます。これが動作として紛らわしい。
対策:
エクスプローラーでアプリケーションで書き換えた”はず”のデータを含むフォルダを選択すると、「互換性ファイル」というメニューが表示されます。
ここをクリックするとアプリケーションから見えていた書き換えたファイルを含むフォルダが表示されます。ここからProgram Filesへ上書きで移動してあげればOK.