是否可以在不更改 WindowsApps 資料夾設定的情況下從另一個程式或命令列執行 Windows 應用程式?

是否可以在不更改 WindowsApps 資料夾設定的情況下從另一個程式或命令列執行 Windows 應用程式?

我有一個 nodeJS 腳本,它運行 Inkscape SVG 檔案並使用以下命令匯出某些圖層:

  inkscape.exe "myfile.svg" -i ${id} -j -C --export-png="${outPath}"

然而,在我的新系統上,我透過 Windows 應用程式商店安裝了 inkscape,現在可執行檔位於 中的某個位置C:\ProgramFiles\WindowsApps,無法存取。我可以更改權限,但我認為該資料夾被鎖定是有充分理由的。

有沒有辦法在不存取該資料夾的情況下運行Windows應用程式?我想要適用於大多數應用程式的解決方案,而不僅僅是 Inkscape。

答案1

筆記:

為了創建這個答案,而不是使用墨景,我使用的是UWP應用程式Windows計算機

然而,在我的新系統上,我透過 Windows 應用程式商店安裝了 Inkscape,現在執行檔位於 C:\ProgramFiles\WindowsApps 中,無法存取。我可以更改權限,但我認為該資料夾被鎖定是有充分理由的。

如果將 WindowsApps 上的權限變更為預設值以外的任何權限,結果將是不確定的,並且 UWP 應用程式將停止運作。

有沒有辦法在不存取該資料夾的情況下運行Windows應用程式?

確實可以從命令提示字元運行 UWP 應用程式。

  1. 執行以下 PowerShell 命令

    取得 appxpackage > 結果.txt

  2. 導航至%UserProfile%並打開結果.txt

  3. 確定安裝位置為了Windows Calculator
  4. 確定包家族名稱為了Windows Calculator
  5. 使用檔案總管導覽至安裝位置。
  6. 用記事本開啟AppManifest.xml
  7. 確定應用程式ID對於 Windows 計算機。我通常會搜索執行檔我嘗試啟動的 UWP 應用程式的名稱。
    • 在某些情況下,同一資料夾中會存在多個 UWP 套件。這意味著AppManifest.xml將處理多個可執行檔。
  8. 在命令提示字元下鍵入以下內容:

    explorer.exe shell:appsFolder\Microsoft.WindowsCalculator_8wekyb3d8bbwe!App

  9. 如果您找到了正確的應用程式ID對於該應用程序,Windows 計算器將啟動。

UWP應用程式的安裝位置不是靜態的,隨著新版本的發布,它們的位置會改變。因此,透過遵循本指南,我確定當前包家族名稱Microsoft.WindowsCalculator_8wekyb3d8bbweWindows計算機的安裝ID曾是APP

這適用於任何 UWP 應用程序,因此我對 Windows Live Calendar 重複了該過程並運行,explorer.exe shell:appsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar這導致 Windows 日曆啟動。

答案2

雖然 @Ramhound 的答案相當完整,但發現商店安裝的 UWP 應用程式的部分可以改進:

  1. 在 Windows 執行對話方塊 ( Win+ R) 中,執行 shell:AppsFolder
  2. 在資料夾中找到有問題的應用程式
  3. 右鍵單擊並選擇“建立快捷方式”
  4. 對“將快捷方式放置在桌面上”說“是”
  5. 右鍵單擊該快捷方式並選擇“屬性”
  6. 「目標」欄位中的條目是您需要的 ID。
  7. 複製 ID(如果可以的話)
  8. 現在可以透過以下方式呼叫該應用程式:

     explorer.exe shell:appsFolder\app-id
    

如果您無法複製“目標”字段並且沒有可以拾取它的產品(我使用捕獲文字),你可以使用Ramhound的程式或文章中的程序 從命令列啟動 Windows 10“應用程式商店”

相關內容