UAC

Vistaのユーザアカウント制御(UAC)に関するメモ:
(以下はネット等の聞きかじりなので正確でない可能性がある)

  • UAC ONだと、Administrator特権を持っているユーザでも、強制的にUser特権で動作するようになる。
  • User特権では、c:\program files や c:\users直下 のファイルの変更はできない。
  • 上記に対して、互換性を保つため、変更ができなかった場合はc:\program files へのアクセスを c:\users\username\AppData\以下にリダイレクトする機能がある。
  • 上記と同様に、一部のレジストリキーも保護されており、リダイレクトする機能がある。
  • 副作用1:UACのON/OFFを行ったり、UAC ONの状態で手動で管理者特権で起動したりして、特権が管理者だったりUserだったりと変化した場合、設定ファイルなどが c:\program files以下と、リダイレクト先とで二重管理になる場合がある。
  • 副作用2:リダイレクトされるのはファイルの読み書きだけであって、c:\program files以下のプログラムが管理者特権で実行されるわけではない。従って、管理者特権でしか動作しないようなプログラムはやはり制限を受ける。
  • 結論1:Vistaに完全対応していないソフトは、あまりc:\program files以下にインストールしないほうがよいかもしれない。
  • 結論2:UACのON/OFFはそうしょっちゅう行うべきではない。
  • 関連:SSPをc:\users直下やc:\program files にインストールすると、上記の関係でいろいろな不具合が発生する。


私の環境の場合、最初はこれを知らずに ON/OFF していました。
ON/OFFを切り替えながら設定をいじるようなことをしなければ、
c:\program filesに入れても問題は起きなさそうですが。
OFFの状態で入れたツール類はONにしてもちゃんと動いています。
まあ、インストーラなしのようなツール類をわざわざ c:\program files 以下に
入れたりはしない、という感じで運用していこうかと思います。


ちなみにUACはONの状態で使っています。
Vistaのセキュリティ強化のひとつの目玉ですし。
ダイアログが出るのは、UNIXで su root するよりは楽です。