Windows Vista から、ファイルとレジストリの仮想化という機能が実装されている。
アプリケーションの仮想化の際にユーザーごとの設定を意識せずに持てるなどの利点があるようだが、今までの環境に慣れ親しんだ企業ユーザーなどにとっては管理コストの増大になっている。またユーザーに意識させず行われることと既存のプログラムが対応していない事などの要因で、この機能は様々な場面で問題を起こしていることがある。まさに「小さな親切大きなお世話」的機能になっている。
機能の内容
権限を有しないものが該当するフォルダやレジストリに対して書き込みを行うと、自動的にリダイレクトされ別の場所に書き込む機能である。管理者権限を有していてもユーザーアカウント制御(UAC)がONになっていて、さらに昇格していないとこの機能が働く。(アプリケーションマニフェストで指定されている場合は除かれる模様)
書き込もうとした場所 | 仮想化によって実際に書き込まれる場所 |
---|---|
%programfiles% (初期値:C:\Program Files) |
%LOCALAPPDATA%\VirtualStore\Program Files |
%systemroot% (初期値:C:\Windows) |
%LOCALAPPDATA%\VirtualStore\Windows |
%programdata% (初期値:C:\ProgramData) |
%LOCALAPPDATA%\VirtualStore\ProgramData |
HKEY_LOCAL_MACHINE\SOFTWARE | HKCU\Software\Classes\VirtualStore\Machine\Software |
※参考URLによると%systemroot%も仮想化の対象と取れるが、実験したところ仮想化されていない模様。
無効化の方法(下記の2通りの方法のいずれかで)
■参考
コメント (0件)