2008年8月8日作成

Vistaのドキュメントプロパティから[場所]タブが消えた

前提

Vista(XPも?)は個人フォルダ以下にあるドキュメントやピクチャフォルダを、 各フォルダのプロパティから[場所]タブを使うことで C:\Users\user1以下から別の場所に移動させることができるのですが、 このとき、誰にでも読み取り権限のある場所 (たとえばD:\usr\user1\Documents)を ドキュメントフォルダとしてしまった場合。

移動後に共有設定をしていなくても、 別のユーザ(user2)の個人フォルダにuser1ドキュメントへのリンクが 登録される場合があります。 user2以下にドキュメントフォルダが2つ存在する状態。

これは、移動したuser1ルートフォルダへのアクセス権を 正しく設定すれば解消します。 また、移動する前に正しくアクセス権を設定していれば出ないと思います。

現象

上記症状が発生した後、 user2のアドレス帳のパスを別の場所にしようと思って プロパティを開いたのですが、 ふつうは存在するはずの[場所]タブが消えていました。

いろいろ調べてみたところ、 レジストリのHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\$key に、user1のアドレス帳パスが登録されていました。 この$keyは、対象となるフォルダによって異なります。 たとえばドキュメントならPersonal、 アドレス帳なら{xxxx-xxx..}のようなGUID。 具体的な一覧は、以下の参考サイトをみてください。

で、これの治し方なのですが、 間違って登録されてしまった$keyを削除してログオフすれば治ります。 ただし、治るといっても初期値に戻るだけなので、 すでに初期値から変更してあった場合には、 そちらに書き換えないとだめかもしれません。

他ユーザーのドキュメントにアクセス権を持っていると、 レジストリにそちらのデータが登録されて、 場所タブがなくなるんですかね。 レジストリってめんどくさい。

参考