HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths 的實際功能是什麼?

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths 的實際功能是什麼?

假設(Windows 10,64 位元)我有一個獨立的 exe 文件,c:\example\example.exe-- 未使用安裝程式安裝,登錄中沒有任何內容,只有一個 exe 檔案。

如果我然後進入註冊表,並將鍵“example.exe”添加到應用程式路徑,並將其預設值設為路徑(.reg 檔案片段):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\example.exe]
@="C:\\example\\example.exe"

現在我的系統有什麼不同?哪些是我現在可以做而在添加之前無法做的事情?

答案1

看起來這是一個 RTFM 的案例;我有一個連結文件這則評論(謝謝​​),所以我想我應該發布一個簡短的概要。檢查 MS 文件以獲取完整的詳細資訊。


「應用程式路徑」的主要目的,如這個答案提示,是作為每個應用程式路徑條目的替代位置(而不是全域使用者或系統路徑條目)。它還指定了 Windows(特別是ShellExecute)如何處理程式的一些細節。

對於我的具體範例,它唯一做的就是指定「example.exe」的完整路徑。這裡可能有幾個影響,但其中一個值得注意的是:

  • 我現在可以在中輸入“example.exe”,甚至只是“example”開始→運行它將運行該應用程式;我不再需要指定完整路徑(例如,我不必鍵入“c:\example\example.exe”)。

但是,子項下還可能出現一些其他值,這些值會影響各種事物:

  • 小路指定應用程式執行階段新增至 PATH 環境變數中的路徑清單——我猜這是應用程式路徑的主要目的(因此得名)。
  • 刪除目標可用於指定將檔案拖曳到 exe 上時的自訂行為,而不是僅將檔案名稱轉換為命令列參數的預設行為。
  • 支援的協議指定應用程式是否處理特定的 URL 方案。
  • 使用網址指定應用程式是否可以處理 URL 而不僅僅是本機文件,最終效果是允許各種最佳化,例如 Windows 將 Internet 資源的 URL 傳遞給應用程式而不是先在本機下載等。
  • 不要使用桌面變更路由器是一些與避免調試器應用程式的檔案選擇對話框死鎖有關的設定。這是一個非常具體的選項。

就是這樣:路徑、自訂拖放行為、URL 處理以及看似任意的超特定調試器相關設置,我猜他們找不到更好的地方(或者它是一個舊的高優先級熱修復程序,並且一些可憐的MS 開發人員靠著咖啡因和煙霧運作)。這是一個奇怪的小收藏;但我確信那裡的一切都有歷史原因。

相關內容