VistaでProgram Files内設定ファイルをいじるときは互換性ファイルに注意!

ことのはじまり

Apache2.2を普通にC:\Program Files以下にインストールして、さてと、設定ファイルを書き換えてAliasをきろう・・とやってみた。サーバを再起動してブラウザから確認してみる。

・・あれ? だめ?

おかしいなぁ。と思い設定ファイルをよく見直してみるが、変なところはない。Apache2.2から設定ファイルの記法が変わったのかとか、mod_aliasが読めてないんじゃないかとか色々うたがったが、そうではないみたいだ。

HTML書き換えても反映されない

うーむ。それじゃ、htdocs以下のサンプルHTMLファイルでもいじってみるか・・と、htdocs/index.htmlファイルを書き換え、ブラウザにおもむろにhttp://localhost/と打ち込む・・ えっ?

It works!

って、あーた。 書き換わってないじゃん。しかし、HTMLファイルをそのままブラウザにドラッグ&ドロップしてみると。

Hoge hoge works!

。。。書き換わってるよねぇ。。 何度やっても同じ。ブラウザのキャッシュかと思ったがそうではないようだ。。 何が起こっているのかさっぱりわからない。 ブラウザがいかれたか? ブラウザを全部落として新しいブラウザを使っても、やっぱり状況は変わらず。

もう、何が起こってるのかさっぱりわからず、ウィルスに感染してしまったのか?だとか、そんなことにまで想いはめぐり、私の精神状態はどん底である。

発見

しかし、ふとVistaがなんだか新しいファイルシステムがどうだかそんなことを売り文句にしていたことを思い出した。と、そんな矢先、C:\Program Files\Apache Software Foundation\Apache2.2\htdocを表示しているエクスプローラウィンドウをよく見ると、書き換えたはずのindex.htmlのタイムスタンプが、なぜか2004年とかになっている。

えっ?さっき書き換えたじゃん?

もう一回書き換えてみる。・・しかし、いくら書き換えてもタイムスタンプが変わらない。

あやしい・・と思い、プロパティをみてみる。なんだか良くわからないけど、あんまり変な感じはしない。む? 書き込み禁止? とりあえず書き込み禁止は外しておこう。そしてまた上記フローを繰り返してみる。それでも書き換わらない。

「手詰まり感」と「しのびよる不安」

もうわけわからん。

・・ひょっとして、やっぱりウィルス? ファイルを書き換えても、書き換えたフリだけするウィルス? 最悪。どうしよう。ウィルス感染したら、会社に始末書かかなきゃいけないんだろうなぁ。Apacheインストーラ動かすときMD5とかの確認めんどくさがってやらんかったしなぁ。あー、どうしよう。っていうか、まあ、まだウィルスと決まったわけじゃないけどさぁ。ウィルスだとわかったらすぐにネットワークの線ぶったぎらないとみんなに迷惑かけちゃうしなぁ。っていうか、まあ、それは考えすぎか。ApacheのDNS詐称とかあったら結構大事件になってるはずだし、その気配はないし・・で

も、あぁ・・わけわからん。。

再び光明が

そんな四面楚歌の状況下、精神的にボロボロになっていた私は、何気なくエクスプローラ上にある「互換性ファイル」なんてかかれた怪しいボタン見つけて、無意識で押してみた。 すると、・・

えっ?

ついさっき書き換えたindex.htmlのみが、2008年2月4日(ついさっき)のタイムスタンプで見えるではないか!しかも、アドレスバーにはC:\Users\[user name]\AppData\Local\VirtualStore\Program Files.. なんていう意味ありげなパスが表示されている。

なんじゃこりゃぁぁ!!

「互換性ファイル」とかでググってみると

ざけんなVista

はぁぁ。。そういうことなのかよ。。。 
早くいってくれよVista君よ。。

っていうか、毎度毎度出てくる「管理者で実行しますか?」とか、そういう余計なダイアログはいいから、こういうときこそダイアログ出してくれよ。

なんとVista (自分はUltimate。他はどうだかしらん)はProgram Files以下にあるファイルをいじると”なんの警告もなく”別のところに新たなファイルをつくって、「はい書き換えましたよー」ってフリをしやがるのです。(書き換えを行おうとするユーザとファイルのオーナがマッチしない場合・・だろうけどさ)

・・最悪・・ 俺の1時間を返せ!

いや、たぶんデスクトップアプリなんかを多くのユーザでみんなで使う場合はいいんだろうけどさ・・ Apacheとかサーバアプリの設定ファイルを書き換えたりするとき、「何もいわずに書き換えたフリ」されちゃうと、かなり困るんだけどなぁぁ・・MSお得意の「余計なお世話」機能だと思うよ。しかも、スーパー強烈な。(だって、複数人でPC共有なんて、いまどきあんまりしないし・・) ワードとかの「余計なお世話」ならすぐに見えるからまだいいけど、「こっそり余計なお世話」するのは、ホントやめてほしい。

本題

ということで、教訓!

VistaでProgram Files内の設定ファイルを編集するときは、Vistaの「書き換えたフリ」に要注意!

書き換えたフリをされた場合は、「互換性ファイル」ってボタンを押して、個人ファイルのVirtualStore内に作られた「マイバージョンファイル」をコピペで本当におきたいところ(Program Files)におきましょう。(ここで「管理者として実行」がもとめられます)

っていうか、コピペとかうざいので、こうすることにしました。

Program Filesの中にインストールしない。

設定ファイルを手でいじるようなプログラムをVistaで使うときは注意ってことかな??

この機能、確かに役に立つケースもあるとは思うけど、やっぱり「意識して」使わないとやっぱりユーザは迷うと思う。その意味で、ユーザに対する警告やら通知やらなしで勝手にやっちゃうと「余計なお世話機能」とレッテル貼られてもしょうがないと思うよ。