従来、Windows ではアプリケーションの実行ファイルのパス解決に「App Paths」と呼ばれるレジストリキーが活用されていました。
具体的には、
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths
といったキーに、アプリケーションの実行可能ファイル名とその完全修飾パスが登録され、ユーザーはコマンドラインや「ファイル名を指定して実行」で直接ファイル名を入力するだけでアプリケーションを起動できました。
しかし、最新の Windows では、より柔軟で安全な方法として「アプリ実行エイリアス」が導入され、これらのレガシーな App Paths キーは下位互換性のために保持されるものの、実際のコマンド検索時には利用されなくなりました。
App Paths キーは、実行可能ファイル名をフルパスにマッピングする仕組みとして、Windows 7 や初期の Windows 10 などで広く利用されてきました。
この方式では、たとえば「notepad.exe」と入力すると、システムは App Paths キー内のエントリを参照して「C:\Windows\System32\notepad.exe」などのパスを取得し、アプリケーションを起動しました。
しかし、パッケージ化や UWP(Universal Windows Platform)アプリの登場、さらにはセキュリティや管理の観点から、従来のレジストリ依存の方法には以下のような課題がありました。
- 下位互換性のための冗長性
古いアプリケーションとの互換性を保つためにレジストリに登録される一方、最新のシステムでは実際のコマンド検索処理で使用されないケースが増加。 - セキュリティと管理の複雑化
レジストリの一部として公開される情報は、管理やセキュリティ上のリスクとなる可能性がある。
Windows 10 Fall Creators Update(バージョン 1709)以降、Microsoft は新たな仕組み「アプリ実行エイリアス」を導入しました。
この仕組みでは、従来の App Paths キーではなく、各ユーザーの以下のフォルダ内に配置されるプレースホルダファイルが実行ファイルの起動に利用されます。
- %LOCALAPPDATA%\Microsoft\WindowsApps
このフォルダに配置されたファイルは、NTFS の再解析ポイント(リパースポイント)として実装され、
IO_REPARSE_TAG_APPEXECLINK(0x8000001B)という専用のタグが設定されています。
従来のシンボリックリンクで使われる IO_REPARSE_TAG_SYMLINK(0xA000000C)とは異なり、アプリ実行エイリアス専用に設計されたタグとなっています。
- 簡単な起動
ユーザーはコマンドラインや「ファイル名を指定して実行」でエイリアス名を入力するだけで、実際のアプリケーションが起動します。 - 下位互換性の維持
既存の App Paths キーはシステム上に残りますが、最新のコマンド検索ではこの情報は参照されず、アプリ実行エイリアスが優先されます。 - セキュリティの向上
再解析ポイントを利用することで、レジストリの公開情報に頼らずにアプリケーションのパス解決が可能になり、セキュリティ面での改善が期待されます。
最新の Windows(Windows 10 Fall Creators Update 以降および Windows 11)では、従来の App Paths キーに依存する方法から、
%LOCALAPPDATA%\Microsoft\WindowsApps 内に配置されるアプリ実行エイリアスによって実行ファイルのパス解決が行われるようになりました。
これにより、古いアプリケーションとの互換性は下位互換性として保持しつつ、現代のアプリケーション環境に適した安全かつ柔軟な実行メカニズムが提供されています。
参考情報:
citeturn2search0 Learn Microsoft – App registration ドキュメント
citeturn2search1 Microsoft の再解析ポイントと App Execution Alias に関する情報




