Program Files(x86) フォルダ内で実行ファイルに寄り添って存在する各種設定ファイル(*.ini, *.config 等)を日々バックアップしていたのですが、バックアップ先ファイルの更新日時がひどく古いことに気づいた。調べてみると、バックアップに失敗しているわけではなく、バックアップ元のファイルの更新日時が元々古い。しかし、アプリは新しい設定で動いている。これはどういうこと!?
Google先生に訊いてみると、
C:\Users\{username}\AppData\Local\VirtualStore\Program Files (x86)
なんてフォルダの存在が報告されていた。なんでも、「一般ユーザー権限でProgramを実行し、設定ファイル等が更新される場合、Program Filesフォルダのファイルを更新する権限が無いため、自動的にVirtualStoreフォルダへ複製・格納される。全ユーザー共通ではなく、ユーザー固有の設定となる」ということのようだ。
なんて勝手なことを! デスクトップにもイベントログにも、何の通知も無しにそんなことしやがるのか。
それに、C:\ProgramData との使い分けも直感的にはわかりにくいなぁ…。