- はじめに
- App Pathsとは
- 古いWindowsでのサポート状況
- PATH環境変数との関係
- コマンド検索における優先順位
- 64ビット版Windowsにおける変更点
- まとめ
Windowsには、アプリケーションを簡単に実行するための仕組みとして「App Paths」というレジストリキーが存在する。この機能を利用することで、環境変数PATHを設定しなくても、特定のアプリケーションをコマンドラインや「ファイル名を指定して実行」(Win + R) から実行できる。
本記事では、App Pathsの基本的な仕組み、古いWindowsでの対応状況、PATH環境変数との違い、コマンド検索時の優先順位、そして64ビット版Windowsでの変更点について詳しく解説する。
App Paths は、レジストリの以下のキーに登録される情報を指す。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths
ここにアプリケーションごとのサブキーを作成し、実行ファイルのパスを登録することで、フルパスを入力しなくても実行できるようになる。
例えば、C:\Program Files\MyApp\myapp.exe を myapp という名前で登録する場合、以下のようにレジストリを設定する。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\myapp.exe]
@="C:\\Program Files\\MyApp\\myapp.exe"
"Path"="C:\\Program Files\\MyApp"この設定を行うことで、コマンドプロンプト (cmd.exe) や Win + R で myapp と入力するだけで、指定した実行ファイルが起動する。
Windows 95の時点で App Paths はすでに存在し、「ファイル名を指定して実行」ダイアログ (Win + R) などで活用されていた。
NT系のWindowsでも App Paths は利用可能であり、HKEY_CURRENT_USER (ユーザーごと) と HKEY_LOCAL_MACHINE (システム全体) の両方で設定できるようになった。
Windows Vista 以降も App Paths は引き続きサポートされているが、アプリケーションの管理方法が変わったことで、利用頻度は減少した。特に、PATH 環境変数やスタートメニューの検索機能が強化されたため、手動で App Paths を設定する機会は少なくなっている。
App Paths は PATH 環境変数とは独立して動作する。通常、環境変数 PATH に実行ファイルのディレクトリを追加することで、どこからでも実行できるようになる。しかし、App Paths を使うと、PATH を変更せずにアプリケーションを実行できる。
App Paths に登録されたアプリケーションは、PATH に登録されていなくても、cmd や Win + R から実行可能であり、特定のアプリのみを簡単に呼び出せるというメリットがある。
Windowsでコマンドを実行する際、以下の順序で検索が行われる。
- カレントディレクトリ
- App Paths に登録されたエントリ
- PATH 環境変数
- Windowsの標準検索パス (
System32など)
このため、App Paths に登録されたアプリケーションは、PATH に登録されたディレクトリ内の実行ファイルよりも優先的に実行される。例えば、App Paths に notepad.exe を別の場所に登録した場合、Windows標準の C:\Windows\System32\notepad.exe よりも優先して実行される。
64ビット版Windowsが一般的になったことで、App Paths に関連する変更点がいくつかある。
-
WOW64 (Windows-on-Windows 64-bit) の影響
- 32ビットアプリケーションは
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Pathsに登録される。 - 64ビットアプリは従来通り
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathsに登録される。 - 32ビットプロセスは
Wow6432Nodeのキーを優先して参照するため、レジストリ設定時には注意が必要。
- 32ビットアプリケーションは
-
プログラムフォルダの分離
- 64ビットアプリは通常
C:\Program Files\にインストールされる。 - 32ビットアプリは
C:\Program Files (x86)\にインストールされる。 App Pathsの設定を行う際、適切なパスを指定しないと、意図しない実行結果になる可能性がある。
- 64ビットアプリは通常
-
管理者権限の影響
HKEY_LOCAL_MACHINEにApp Pathsを登録する場合、管理者権限が必要。HKEY_CURRENT_USERに登録することで、ユーザーごとに設定可能。
App Pathsは Windows 95 以降のすべてのバージョン で利用可能。PATH環境変数を変更せずに、特定のアプリケーションを簡単に実行できる。cmdやWin + Rでの実行時、PATHよりも 優先的に検索される。- 64ビット版Windowsでは
Wow6432Nodeが導入され、32ビットと64ビットのアプリケーションが分離された。 - 近年は
PATHやスタートメニュー検索の強化により利用頻度は減少したが、互換性のために機能は維持されている。
このように、App Paths はレガシーシステムのメンテナンスや、特定のアプリを簡単に実行する方法として、今でも有用な仕組みである。
