トップ  >  パソコン豆知識  >  VirtualStoreの悲劇(ファイル操作)

VirtualStoreの悲劇(ファイル操作)

2010年11月05日

Windous Vista/7/8で導入されている[VirtualStore]ですが色んな悲劇があるようです。[VirtualStoreの悲劇]では[VirtualStore]で起こる悲劇をジャンル別に紹介します。

今回は[カレントディレクトリに作成したはずのファイルが存在しない(別のディレクトリに作成されている)]と言う不思議な現象について紹介します。

例えば、[C:\Program Files]に[Test]というフォルダを作って、テストプログラム[a.exe]をコピーします。このテストプログラム[a.exe]はカレントのディレクトリに[b.txt]というファイルを作成する仕様だとします。

このテストプログラム[a.exe]を[管理者では無い状態]で実行すると、[C:\Program Files]では無く、[C:\Users\UserName\AppData\Local\VirtualStore\Program Files]というフォルダに[b.txt]というファイルが作成されます。この[VirtualStore]と言うフォルダは[C:\Program Files]のミラーのような役目をしています。仮に[C:\Program Files]に[b.txt]が既に存在したとしても上書きされません。

ファイル読み込み(入力)時は[C:\Program Files]のフォルダからファイル入力すると、実際には[VirtualStore]のファイルが参照されます。[VirtualStore]にファイルが無い場合は[C:\Program Files]のファイルが参照されます。

ちなみに、このテストプログラム[a.exe]を[管理者として実行]すれば、[C:\Program Files\Test]に[b.txt]が正常に作成されます。ファイル読み込み(入力)時も同様に[C:\Program Files\Test]のファイルが参照されます。[VirtualStore]は使用されません。

※<参考>VirtualStoreのPATH
C:\Users\UserName\AppData\Local\VirtualStore\Program Files
C:\Users\UserName\AppData\Local\VirtualStore\ProgramData
C:\Users\UserName\AppData\Local\VirtualStore\Windows
※<参考>UserNameはログインユーザ名

その他の[VirtualStoreの悲劇]関係の情報はこちらです。
VirtualStoreの悲劇(拡張子)
VirtualStoreの悲劇(アップグレード)

スポンサーサイト

VirtualStoreの悲劇(拡張子) | トップページへ戻る | ガベージコレクションとデリゲート(C#/VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る