WinGet 工具的升級命令會升級指定的應用程式。 或者,您可以使用 list 命令來識別您想要升級的應用程式。
upgrade 命令需要您指定要升級的確切字串。 如果有任何不明確的情況,系統會提示您進一步將 upgrade 命令篩選到確切的應用程式。
別名
此命令提供下列別名:
- 更新
使用方式
winget upgrade [[-q] <query> ...] [<options>]
引數
下列是可用的引數。
引數 | 描述 |
---|---|
-q,--query | 用來搜尋應用程式的查詢。 |
注意
查詢引數是位置性。 不支援萬用字元樣式語法。 這通常是您預期有助於尋找要升級的字元字串。
選項
這些選項可讓您自訂升級體驗,以符合您的需求。
選項 | 描述 |
---|---|
-m, --manifest | 後面必須接著資訊清單 (YAML) 檔案的路徑。 您可以從本機 YAML 檔案中使用資訊清單執行升級體驗。 |
--id | 將升級限制為應用程式的識別碼。 |
--名稱 | 將搜尋限制為應用程式的名稱。 |
--綽號 | 將搜尋限制為針對應用程式列出的別名。 |
-v,--version | 讓您指定要升級的確切版本。 如果未指定,則會升級目前最高版本的應用程式。 |
-s、 --source | 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。 |
-e, --exact | 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。 |
-i,--interactive | 在互動模式中執行安裝程式。 預設體驗會顯示安裝程式的進度。 |
-h, --silent | 以無訊息模式執行安裝程式。 這會隱藏所有 UI。 預設體驗會顯示安裝程式的進度。 |
--清除 | 刪除封裝目錄中的所有檔案和目錄 (可攜式) |
-o, --log | 將記錄導向至記錄檔。 您必須提供檔案路徑,而且您必須有該檔案的寫入權限。 |
--自訂 | 除了預設值之外,要傳遞至安裝程式的引數。 |
--覆蓋 | 將直接傳遞至安裝程式的字串。 |
-l, --location | 要升級的位置 (如果支援的話)。 |
--範圍 | 選取已安裝的封裝範圍篩選 (使用者或電腦)。 |
a, --architecture | 選取要安裝的架構。 |
--installer-type (安裝程式類型) | 選取要升級的安裝程式類型。 請參閱 WinGet 用戶端支援的安裝程式類型。 |
--語言環境 | 指定要使用 BCP47 格式的地區設定。 |
--忽略安全哈希 | 忽略安裝程式雜湊檢查失敗。 不建議使用。 |
--allow-reboot(允許重啟) | 允許重新開機 (如適用)。 |
--skip-dependencies(跳過相依性) | 略過處理套件相依性與 Windows 功能。 |
--ignore-local-archive-malware-scan | 忽略從本機資訊清單安裝封存類型套件時所執行的惡意程式碼掃描。 |
--accept-package-agreements(接受軟體合約) | 用於接受授權合約且避免提示。 |
--接受來源協議 | 用於接受來源授權合約且避免提示。 |
--頁眉 | 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。 |
--authentication-mode | 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。 |
--authentication-account(驗證帳戶) | 指定要用於驗證的帳戶。 |
-r, --recurse, --all | 將所有已安裝的套件升級至最新版本 (如果有的話)。 |
-u, --unknown, --include-unknown | 即使無法判斷套件目前版本,也會升級套件。 |
--釘選,--包含釘選 | 即使套件有非封鎖釘選,也會升級套件。 |
--解除安裝上一個版本 | 在升級期間將舊版的套件解除安裝。 行為將取決於個別套件。 某些安裝程式是設計來並存安裝新版本。 某些安裝程式包含指定「uninstallPrevious」的資訊清單,因此無需使用此命令旗標即可解除安裝早期版本。 在此情況下,不論套件資訊清單中的內容為何,使用 winget upgrade --uninstall-previous 命令會告訴 WinGet 解除安裝舊版。 如果套件資訊清單不包含「uninstallPrevious」,且未使用 -- uninstall-previous 旗標,則將會套用安裝程式的預設行為。 |
--力 | 直接執行命令,並以非安全性相關問題繼續。 |
-?--幫助 | 顯示所選命令的說明。 |
--等 | 提示使用者在結束之前按任何鍵。 |
--logs,--open-logs | 開啟預設記錄位置。 |
--verbose、--verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
--禁用互動功能 | 停用互動式提示。 |
--代理 | 設定此執行所要使用的 Proxy。 |
--no-proxy | 停用此執行的 Proxy。 |
範例查詢
下列範例會列出具有可用升級的應用程式。
winget upgrade
下列範例會升級特定版本的應用程式。
winget upgrade powertoys --version 0.15.2
下列範例會從其識別碼升級應用程式。
winget upgrade --id Microsoft.PowerToys
下列範例顯示升級所有應用程式。
winget upgrade --all
下列範例會升級多個應用程式。
winget upgrade Microsoft.Edit Microsoft.NuGet
使用升級
若要識別哪些應用程式需要更新,只需使用升級而不需任何引數即可顯示所有可用的升級。
升級 --all
upgrade --all 會識別具有可用升級的所有應用程式。 當您執行 winget upgrade --all時,Windows 封裝管理員會尋找所有包含可用更新的應用程式,並嘗試安裝更新。
注意
某些應用程式不提供版本。 這些一律是最新的應用程式。 因為 Windows 套件管理員無法識別是否有較新版本的應用程式,除非指定 了 -u、--unknown、-include-unknown 選項,否則將無法升級
注意
某些應用程式可能使用 WinGet 釘選,如果指定 --all 選項,這些應用程式不會升級,除非也指定 --include-pinned 選項。 在此情況下,只會升級應用程式中不是被封鎖的腳位。
升級 -- uninstall-previous
upgrade --uninstall-previous 會在安裝較新版本的套件之前解除安裝舊版。 使用 --uninstall-previous
時,行為將取決於個別套件。 某些安裝程式是設計成並存安裝新版本,而其他安裝程式則包含指定 uninstallPrevious
為其預設升級行為的資訊清單 (因此,舊版會解除安裝,而不需要使用命令旗標)。
如果套件資訊清單不包含 uninstallPrevious
為升級行為,且 --uninstall-previous
旗標未與升級命令搭配使用,則將會套用安裝程式的預設行為。