WinGet upgrade 工具的指令會升級指定的應用程式。 你也可以選擇使用 list 指令來識別你想要的 upgrade應用程式。
此 upgrade 指令要求你指定精確的字串到 upgrade。 若有任何歧義,系統會提示您進一步篩選 upgrade 該指令至特定應用程式。
別名
此命令提供下列別名:
update
使用方式
winget upgrade [[-q] <query> ...] [<options>]
引數
下列是可用的引數。
| 引數 | 描述 |
|---|---|
| -q,--query | 用來搜尋應用程式的查詢語句。 |
注意
查詢引數是位置性。 不支援萬用字元樣式語法。 這通常是您預期用來協助尋找需升級的封包的字元字串。
選項
這些選項讓你能依需求客製化 upgrade 體驗。
| 選項 | 描述 |
|---|---|
| -m, --manifest | 後面必須接著資訊清單 (YAML) 檔案的路徑。 你可以使用資訊清單,從本機 YAML 檔案執行upgrade體驗。 |
| --id | 將 upgrade 限制為該應用程式的 ID。 |
| --名稱 | 將搜尋限制為應用程式的名稱。 |
| --綽號 | 將搜尋限制為針對應用程式列出的別名。 |
| -v,--version | 讓你能為 upgrade 指定一個確切的版本。 若未指定,最新版本將為 upgrade 最高版本的應用程式。 |
| -s、 --source | 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。 |
| -e, --exact | 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。 |
| -i,--interactive | 在互動模式中執行安裝程式。 預設體驗會顯示安裝程式的進度。 |
| -h, --silent | 以無訊息模式執行安裝程式。 這會隱藏所有 UI。 預設體驗會顯示安裝程式的進度。 |
| --清除 | 刪除封裝目錄中的所有檔案和目錄 (可攜式) |
| -o, --log | 將記錄導向至記錄檔。 您必須提供檔案路徑,而且您必須有該檔案的寫入權限。 |
| --自訂 | 除了預設值之外,要傳遞至安裝程式的引數。 |
| --覆蓋 | 將直接傳遞至安裝程式的字串。 |
| -l, --location | 位置到 upgrade(如果支援)。 |
| --範圍 | 選擇已安裝的套件範圍過濾器(使用者或機器)。 |
| a, --architecture | 選取要安裝的架構。 |
| --installer-type (安裝程式類型) | 選擇安裝器類型為 upgrade。 請參閱 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 | 即使無法確定目前的版本,仍然會升級套件。 |
| --釘選,--包含釘選 | 即使套件有不阻塞的釘選,也仍會進行升級。 |
| --解除安裝上一個版本 | 在 upgrade 期間解除安裝先前版本的套件。 行為將取決於個別套件。 某些安裝程式被設計用來並排安裝新版本。 某些安裝程式包含指定「uninstallPrevious」的資訊清單,因此無需使用此命令旗標即可解除安裝早期版本。 在此情況下,不論套件資訊清單中的內容為何,使用 winget upgrade --uninstall-previous 命令會告訴 WinGet 解除安裝舊版。 如果套件資訊清單不包含「uninstallPrevious」,且未使用 -- uninstall-previous 旗標,則將會套用安裝程式的預設行為。 |
| --力 | 直接執行命令,然後繼續處理與安全無關的問題。 |
| -?--幫助 | 顯示所選命令的說明。 |
| --等 | 提示使用者在結束之前按任何鍵。 |
| --logs,--open-logs | 開啟預設記錄位置。 |
| --verbose、--verbose-logs | 用於覆寫日誌設置,並產生詳細日誌。 |
| --nowarn(不顯示警告),--ignore-warnings(忽略警告) | 隱藏警告輸出。 |
| --禁用互動功能 | 停用互動式提示。 |
| --代理 | 設定此執行所使用的代理。 |
| --no-proxy | 停用此執行的 Proxy。 |
範例查詢
以下範例列出了具有可用條件 upgrade 的應用程式。
winget upgrade
下列範例會升級特定版本的應用程式。
winget upgrade powertoys --version 0.15.2
下列範例會從其識別碼升級應用程式。
winget upgrade --id Microsoft.PowerToys
下列範例顯示升級所有應用程式。
winget upgrade --all
以下範例將涵蓋 upgrade 多個應用程式。
winget upgrade Microsoft.Edit Microsoft.NuGet
使用 upgrade
要判斷哪些應用程式需要 update,只需使用 upgrade ,無需參數即可顯示所有可用的升級。
upgrade ——全部
upgrade --all 會upgrade所有有可用update的已安裝應用程式。 當你執行 wingetupgrade --all,Windows 封裝管理員 會尋找所有有更新的應用程式並嘗試安裝更新。 先使用不帶任何引數的 upgrade,以預覽哪些應用程式將會升級。
注意
某些應用程式不提供版本。 這些一律是最新的應用程式。 由於Windows 封裝管理員無法辨識是否有更新版本的應用程式,除非指定 upgrade 選項,否則無法使用
注意
某些應用程式可能使用 WinGet 釘選,如果指定 --all 選項,這些應用程式不會升級,除非也指定 --include-pinned 選項。 在此情況下,只會升級應用程式中不是被封鎖的腳位。
upgrade --卸載-上一頁
upgrade --uninstall-prior 會在安裝新版本套件前先卸載舊版本。 使用 --uninstall-previous 時,行為將取決於個別套件。 有些安裝程式設計為將新版本與舊版本並排安裝,而另一些安裝程式則包含資訊清單,指定 uninstallPrevious 為其預設的 upgrade 行為(因此無需使用命令旗標即可解除安裝舊版)。
如果套件資訊清單未將 uninstallPrevious 納入為 upgrade 行為,且未搭配 upgrade 命令使用 --uninstall-previous 旗標,則將套用安裝程式的預設行為。