使用 WinGet 快速更新大量軟體


之前在《Windows 的命令式套件管理工具:WinGet》這篇文章,有提過微軟現在提供了一個類似 Ubuntu APT 的套件管理工具、叫做 WinGet(雖然有點版權爭議…)。

在當時要用的人是需要自己安裝,不過現在應該是已經整合在 Windows 裡面了,只要在命令提示字元下執行 WinGet 應該是都有了。

而在 2020 年剛推出的時候,功能算是少得可憐的,不過發展到現在,也算是該有的都有了。

他的官方文件可以參考:Use the winget tool to install and manage applications

而在 Heresy 來看,最有可能需要的,一個就是更新已經有安裝的軟體了!

現在只要執行

winget upgrade

他就會去掃描電腦內安裝的軟體,如果在它的資料庫中有相關資料的話,就會去檢查已經安裝的版本、以及有沒有更新。

像是下面就是 Heresy 執行的結果:

而如果執行

winget upgrade --all

的話,他就會開始依序下載新版來更新了~

不過由於大部分軟體的安裝可能會需要系統管理者權限,所以如果怕它會一直要求權限的話,這邊建議可以先把命令提示字元視窗提升到管理員權限,或是搭配之前介紹過的 gsudo 來使用。

這樣放著讓他跑的話,他基本上就會試著去把可以更新的軟體都更新到最新版了,這樣久久跑一次就可以把電腦裡大部分軟體都更新好,算是滿方便的~

只是在 Heresy 這邊,它有的東西好像向來都沒辦法更新成功就是了?像是 OpenVPN 他都會安裝失敗、無法更新;而像是「Windows Software Development Kit」和「Microsoft .NET SDK」這類的東西,他雖然好像有安裝成功,但是都還是維持本來的版本,這就不知道是什麼問題了?


另外,WinGet 現在也有提供匯出和匯入的功能,透過這個機制,其實可以在裝機的時候快速地大量安裝需要的軟體!

透過「winget export -o z:\app_list.json」這樣的指令,就可以把電腦裡面有安裝的軟體清單匯出成一個 JSON 檔案。

之後則可以把這個匯出的 JSON 檔案拿到別台電腦,透過「winget import -i z:\app_list.json」這樣的指令,來匯入安裝的列表、並開始安裝應用程式。

所以如果自己要換電腦的時候,或許可以考慮透過這樣的機制,來加速初期軟體的安裝流程。

不過,個人也會建議在匯出 JSON 檔案後,自己再稍微確認、修改一下內容再匯入會比較好。


附註:

  • 如果遇到「嘗試更新資料來源失敗」的錯誤地化,可以試著執行「winget source reset --force」這個指令試試看。
  • 遇過比較討厭是,透過 WinGet 安裝可能會無法選擇要安裝的語言版本,記得之前某個軟體安裝後是簡體中文版…
廣告

對「使用 WinGet 快速更新大量軟體」的想法

    • Chocolatey 個人用的不多,不好比。
      winget 的好處在個人來看就是 Windows 內建了,但是老實說小問題不少。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.