0005名無し~3.EXE
2018/02/06(火) 21:44:04.08ID:EKRVnrG5なぜなら、以下のときはこれが無効になるから。
1. 64bitアプリのとき。
2. 管理者として実行しているとき。
3. UACを無効にしたとき。
4. .dllなどの特定の拡張子のファイルを書き出そうとしたとき。
1については、Windows Vistaがリリースされてから10年以上がたつのに
未だにMicrosoftが定めたガイドラインを遵守しないバカな開発者がいる。
2、3については、管理の都合上頻繁に切り替えるのでそのつど参照先が
変わると困る。4については、プラグインdllで機能拡張を行うアプリでは
都合が悪い。
だから自分は、このようなアプリはとりあえず%ProgramFiles%以下に
入れた後、このファイルへのシンボリックリンクを各ユーザープロファイルの
%AppData%以下に作成し、起動のためのショートカット作成などはこの
シンボリックリンクのパスに対して、必ず環境変数%AppData%を用いて
行っている。