none
追加アカウントの%USERPROFILE%がC:\Documents and Settings\(ユーザ名)になる RRS feed

  • 質問

  • Windows VistaのPCに、ある古いアプリケーションをインストールした後、追加したアカウントで、
    レジストリ上の HKEY_CURRENT_USER 配下で、サブキーの値が、%USERPROFILE%で始まる箇所で、本来あるべき
    C:\Users\(ユーザ名)
    ではなく、
    C:\Documents and Settings\(ユーザ名)
    として、登録されていました。
    原因と思われるアプリケーションをアンインストールした後に追加したアカウントにおいて、同様の現象が発生します。

    ほとんどのアプリケーションでは、C:\Documents and Settings で始まっても、C:\Users にリダイレクトされるので大きな問題は
    発生しないのですが、一部のアプリケーションではリダイレクトを解釈できないらしいため、起動実行時にエラーとなります。
    PC端末で、新しいアカウント(ドメインユーザ)でログオンし、ユーザプロファイル領域が作られるときに、ログオンユーザ毎に
    HKEY_CURRENT_USER が生成されると思うのですが、%USERPROFILE% の変数定義をしている部分はどこでしょうか。
    変数定義の部分を補正の後に新しいアカウントでログオンすれば、正しいレジストリが生成されるのではないかと思うのですが。
    HKEY_LOCAL_MACHINE\SOFTWARE\MIcrosoft\Windows NT\CurrentVersion\Profilelist
    のサブキー ProfilesDirectory でよいでしょうか。
    よろしくお願いします。
    2009年7月24日 12:12

回答

  • 以前調査しとときのレジストリキーは仰せのとおりでしたし、今確認してもやはりそのようです。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListキーのProfilesDirectoryエントリで、
    デフォルトの値は%SystemDrive%\Usersです。

    上記レジストリキーの値を%SystemDrive%\Documents and Settingsにしてしまうと、以後新規ログオンしたユーザーの該当ユーザーの環境変数%userprofile%にC:\Documents and Settings\(プロファイル名)がセットされていまい、同様の現象になると思います。

    2009年7月28日 4:35

すべての返信

  • 以前調査しとときのレジストリキーは仰せのとおりでしたし、今確認してもやはりそのようです。

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListキーのProfilesDirectoryエントリで、
    デフォルトの値は%SystemDrive%\Usersです。

    上記レジストリキーの値を%SystemDrive%\Documents and Settingsにしてしまうと、以後新規ログオンしたユーザーの該当ユーザーの環境変数%userprofile%にC:\Documents and Settings\(プロファイル名)がセットされていまい、同様の現象になると思います。

    2009年7月28日 4:35
  • OMEGA様
    ご確認ありがとうございました。

    HKEY_CURRENT_USER\Volatile Environment
    が、ProfileDirectoryエントリに依存していることは確認できたのですが、他のキーの値もセットされるかどうかが自信がありませんでした。

    すでに新規に作成されたアカウントについてはキーの値については注意深く手作業で直すしかありませんね。

    影響を与えたと思われる古いアプリケーションのインストーラは2002年頃のものです。
    メカニズムはわかりませんが、インストーラによって、重要なキーの値が変更されていまうのは、ある意味でシステムの脆弱性といえるのではないでしょうか。

    ちなみに同じインストーラをWindows 7 RC版で実行したところ、途中でエラーとなりインストールがそれ以上進行しませんでした。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileListキーのProfilesDirectoryエントリ
    は変更されていませんでした。本来はこれがより正しい挙動なのかもしれません。
    その変わりに中途半端なインストール情報が残ってしまい、アンインストールのユーティリティにより除去するはめになりました。
    2009年7月28日 8:23
  • こんにちは、フォーラムオペレーターの三沢健二です。

    OMEGAT さん、回答ありがとうございます。

    ttomu さん、全ての疑問点が解消されたわけではないかもしれませんが、今回、OMEGAT さんが案内されていた、レジストリに関する情報が参考になられたのではと思いましたので、勝手ながら私のほうで [回答としてマーク] をつけさせていただきました。
    もし不適当であると思われた場合は、遠慮なくチェックを解除してくださいね。

    それでは、また何か疑問や質問がありましたら、TechNet フォーラムに投稿してください。
    今後とも、TechNet フォーラムをよろしくお願いします。

    ______________________________________
    マイクロソフト株式会社 フォーラムオペレーター 三沢健二

     

     

    2009年7月31日 4:19
    モデレータ