Vistaの互換性ファイルという仕組み

会社ではWindows Vistaをもう半年以上使っているが、今日初めてわかったことがある。

それがこの「互換性ファイル」という変な仕組みだ。

どうやらこれもUACの機能の一つらしいのだが、こんな仕組みだ。

"Program Files"の下にとあるプログラムのデータを保存したとしよう。今日保存したのはTeratermの接続マクロだ。

そのマクロには接続先のIPアドレスが書いてあるのだが、接続先が変更になったので、もちろんIPアドレスを秀丸で変更し、上書き保存した。

で、Teratermでマクロを実行する...が、変更前のIPアドレスに接続に行っているようで繋がらない。

あれ?と思い、もう一度"Program Files\teraterm"の下に保存したマクロを開く。おかしい、前のままのIPアドレスだ。

もう一度編集する。また繋がらない。そしてファイルもまた前のままだ...。

これはおかしい、絶対Vistaが何かやってると思ったら、エクスプローラーのツールバーに「互換性ファイル」というボタンが表示されているのを見つけた。何じゃこのボタンは?

ポチッと押してみると、"なんちゃら\VirtualStore\なんちゃら"という別のフォルダに移動した。するとそこにはさっき保存したのと同じマクロファイルが存在していた。

どうやら編集したファイルはこちらに保存されているらしい。よくわからないので、こっちのファイルを"Program Files\teraterm"に移動した。

すると見事、接続成功!。しかし、なんだこの変な仕組みは。

ということで「Vista 互換性ファイル」でググっみたところ、こういうことだった。

Vistaでは「"C:\Program Files"、"C:\Program Data"、"C:\Windows" にファイルを(コピーとかでなく)書き込むと
、仮想化された別のディレクトリに同じファイルが書き込まれる。」ということらしい。ウゼー。

#普段エクスプローラー使わない人なのでわかりませんでした。

管理者権限での実行を制限するユーザー・アカウント制御UAC(後編) - @IT

コメント

  1. hoge より:

    C:\Program Files”、”C:\Program Data”、”C:\Windows” となっていますが
    “C:\Program Data” は正しいですか

  2. mount より:

    hogeさん。
    自分は試していないのですが、
    http://support.microsoft.com/kb/927387/ja

    http://www.atmarkit.co.jp/fwin2k/vista_feature/08uac02/08uac02_02.html
    にそう書いてあるので、まず間違いはないと思います。(%programdata%が含まれる)

    自分のVAIO type PではUACの機能は重すぎるため無効にしているので、今は気にしていません。

  3. とめ より:

    Vistaでは、Program Filesもシステムフォルダーになったので云々・・・と
    聞きましたけど、何度書き直しても元に戻ってしまうのは、そういうことだったのですか。
    おかげで助かりました。

タイトルとURLをコピーしました