[ホーム] -
[Windows 7 FAQ 一覧] - [VirtualStoreとは]
VirtualStoreとはWindows 7などに搭載されているシステムを保護する機能により作成されるフォルダです。
Windows XP では administrators 権限なら C:\Program Files 以下や C:\Windows 以下 などファイルを書き込むことが可能でした。
しかし Windows Vista 以後では例えadministrators権限でも上記のような重要なフォルダでのファイルの書き込みは原則不可能となりました。
(変更には昇格が必要)
これは不用意にアプリケーションがシステムの重要なファイルを破損し、OSにダメージを与えることを防ぐためです。
上記のように(昇格せずに)書き込みに失敗した場合、OSは代理に以下の場所へ書き込みを行います。
C:\Users\<ユーザ名>\AppData\Local\VirtualStore
例えば以下のフォルダが作成されています。
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files (x86)
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Windows
【例1】
例えばユーザが ffftp を起動すると以下のフォルダが作成されます。
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files\ffftp
fftp としては C:\\Program Files\ffftp 以下にファイルを作成しているつもりですが、実際には
ユーザごとの以下のフォルダに保管されています。
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files\ffftp
ユーザごとに作成されるため、環境もユーザごとに異なります。
【例2】
例えば TeraTerm ではサーバのFinger Printを C:\Program Files\TeraTermに保管しようとします。
しかし実際には
C:\Users\<ユーザ名>\AppData\Local\VirtualStore\Program Files\TeraTermに保管されます。
よって Windows 7ではユーザごとに Finger Printを保管することになります。
(注意)
ただし環境によってはVirtualStoreが機能しないケースがあります。
「ユーザアカウントの制御」が「通知しない」に設定されている場合はVirtualStoreは機能せず、直接システムフォルダに書き込みが可能となっています。
「通知しない」設定の場合はアプリケーションをインストールしてシステムを破損しないよう十分に気をつけてください。