program files以下に保存したはずのファイルが存在しない話

保存はしたし、読み取りも出来るのに、エクスプローラから見えない現象の話

例えばゲームやなんかのセーブファイルが、ゲームソフトからは読み取れるのにエクスプローラからは見えなかったり。機能上問題ないように見えるけれどセーブファイル自体を移動したいときとか困るのでね。

結論から言うと、WindowsのVirtual Storeって機能によるもの。要は「Program Files以下に勝手に書き込みするんじゃねーよ」っていうセキュリティ上の考えがあるわけなんだけれど、お行儀の悪い、というか設計の古いソフトだとProgram Files以下に設定ファイルとか保存してたりする。けど保存の度に「管理者の許可が云々…」とかダイアログ出すとそのソフトの動作に支障を来すので、代わりにVirtual StoreっていうユーザーフォルダのAppData\Local下のフォルダに保存させているというわけ。

Program Files以下が勝手に書き換えられない保証があるのは良いことなんだけれど、混乱を生む原因は、実際にVirtual Store側にファイルが保存されていても当該ソフト側から見るとあたかもProgram Files側に保存しているかのように見えること。ディレクトリ構造が見えるようなソフトだと、Program Files以下に見えているはずのディレクトリが実際には存在しない(=Virtual Store側に分けて保存されている)といったことが起こる。

そんなわけだから、もしソフト側の設定で保存場所とか変えられるのならProgram Files以下を避けるように設定した方が面倒くさくなくてよろしい。

まあ、知ってればVirtual Storeを見れば良いだけなのでさほど問題では無いんだけれど。長い間Win7触ってて今更気づいたのも、普通Program Files以下のファイルなんて書き換えないってことよく表してるわな。

ちなみに有名どころのソフトだとCode LiteなんかがVirtual Storeにフォルダを作らされてた。IDEがそういう設計してるってどうなの…。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です