Edited at

Windowsのシステム環境変数とユーザ環境変数

More than 1 year has passed since last update.


環境変数の適用


どちらか片方のみが設定されている場合

設定された値が呼び出される。


両方に設定されている場合

ユーザ環境変数で上書される。

※PATHだけは例外


PATHがシステム環境変数とユーザ環境変数共に設定されている場合

「システム環境変数;ユーザ環境変数」という形で設定される。

後ろに追加されるというのがミソで、%JAVA_HOME%\binなどをユーザ環境変数に設定してもC:\WINDOWS\system32にJavaがあると、C:\WINDOWS\system32;%JAVA_HOME%\bin;と解釈されるため、C:\WINDOWS\system32のJavaが使われます。

ユーザ毎にPATHを上書きする方法ってあるんですかね?


サービスで起動されたアプリケーションの環境変数

通常は「システム環境変数」のみ適用される。

サービスの設定の「ログオンタブ → アカウント」でサービス起動ユーザを指定すると、ユーザ環境変数が反映される。


参考URL

http://d.hatena.ne.jp/takuya_1st/20110116/1295188903