Windowsで複数のアプリを一括インストールする方法(winget)

Windowsで複数のアプリを一括インストールする方法(winget)

Windowsでアプリをインストールする場合、通常はそれぞれのアプリが配布されているWebサイトからインストーラーをダウンロードしてインストールするという流れになりますが、数が多くなると結構面倒な作業です。

そこでここでは、Windowsに標準搭載されているwingetツールを使って、複数のアプリを一括インストールしたり更新する方法を解説します。

winget(Windows Package Manager)とは

Windows パッケージ マネージャー | Microsoft Docs

「winget(Windows Package Manager)」は、Microsoftが開発/提供している無料のパッケージ管理ツールで、アプリのインストールや更新といったパッケージの管理をコマンドラインで行うことができます。

wingetでは、スクリプトを使って多数のアプリを一括でインストール/更新することができ、いちいち配布先からパッケージをダウンロードしてインストールする面倒がなく、手早く環境構築を行いたいときに便利なツールです。

なお、wingetは現在の最新バージョンのWindows 10や11に標準搭載されており、wingetリポジトリからインストールできるアプリは現在3,500を超えています。

wingetの使い方

wingetはコマンドラインツールなので「コマンドプロンプト」もしくは「PowerShell」から利用します。

wingetの書式は次のとおりで、基本的にはサブコマンドで何をするかを指定します。

> winget  <サブコマンド> <サブコマンドオプション>

以降では、基本的な使い方として、アプリの検索・インストール・更新・アンインストール方法について紹介します。

アプリの検索

インストールするアプリを探すときは「winget show」または「winget search」を利用します。

「winget show」では、インストール可能なアプリの一覧を取得できます。

> winget show > D:¥wingetlist.txt

なお、アプリの一覧は3千行を超えるため、上のようにテキストファイルに出力してから、テキストエディタで開いて検索するほうが良いでしょう。

アプリ名をもとに検索したいときは「winget search」を利用します。

たとえば、Webブラウザ「Google Chrome」を検索したいときは、次のように実行します。

> winget search "Google Chrome"

すると、以下のように検索結果が表示されます。

Windowsで複数のアプリを一括インストールする方法(winget)

アプリのインストール

インストールしたいアプリが見つかったら、次のコマンドを実行してアプリをインストールします。

> winget install -h --force --id <アプリケーションID>

「-h」オプションは、サイレントインストールを指定しており、アプリケーションIDは、アプリを検索したときに確認できます。

たとえば「Google Chrome」をインストールするときは、次のように実行します。

> winget install -h --force --id Google.Chrome
Windowsで複数のアプリを一括インストールする方法(winget)

インストール中の画面

なお、アプリによってはインストール時に管理者権限が必要なものがあり、その場合は管理者権限でコマンドプロンプトやPowerShellを起動してから上のコマンドを実行しないと、インストール時にユーザーアカウント制御画面が表示されます。

アプリの更新

次のコマンド実行すると、更新可能なアプリの一覧を確認できます。

winget以外でインストールしたアプリも、更新可能なら一覧に表示してくれるようです。

> winget upgrade

更新可能なアプリを一括更新するときは、次のようにコマンドを実行します。

> winget upgrade --all

特定のアプリのみを更新したいときは、アプリケーションIDを指定して次のようにコマンドを実行します。

> winget upgrade --id Google.Chrome

アプリのアンインストール

次のコマンド実行すると、インストール済みアプリの一覧を確認できます。

> winget list

特定のアプリをアンインストールするときは、アプリケーションIDを指定して、次のようにコマンドを実行します。

> winget uninstall --id Google.Chrome

スクリプト化

wigetを利用して、複数のアプリを一括インストールするときは、バッチファイルなどでスクリプト化するのがおすすめです。

以下に、サンプルコードを記載するのでご参考までに。

@echo off

REM Powertoys
winget install --id Microsoft.Powertoys
if %ERRORLEVEL% NEQ 0 Echo install failure.

REM Terminal
winget install --id Microsoft.WindowsTerminal
if %ERRORLEVEL% NEQ 0 Echo install failure.

wingetをGUIで利用したいときは

wingetはコマンドラインツールのため、コマンド操作に慣れていないと使いにくいと感じることもあるでしょう。

そのようなときは「WingetUI」を利用することで、wingetをGUI画面で操作できるようになり、コマンド操作に不慣れでも、wingetを利用したアプリのインストールや更新がやりやすくなります。

WingetUIは、以下のGitHubのページからからインストーラー「WingetUI.Installer.exe」をダウンロードしてインストールします。

GitHub - martinet101/WingetUI: WingetUI Store: a GUI Store for the most common cli package managers, sych as Winget and Scoop

Windowsで複数のアプリを一括インストールする方法(winget)

WingetUIをインストールしたら、スタートメニューのプログラム一覧などから実行すると、以下のような画面が表示されます。

Windowsで複数のアプリを一括インストールする方法(winget)

アプリをインストールするときは「Discover Software」タブを選択して、検索ボックスにアプリ名などを入力することで、該当するアプリが一覧表示されるので、インストールしたいアプリを右クリックして、メニューから「Install」を選択することでインストールできます。

Windowsで複数のアプリを一括インストールする方法(winget)

また、右クリックメニューから「Show info」を選択すると、次のような画面が表示され、インストールするバージョンを指定することも可能です。

Windowsで複数のアプリを一括インストールする方法(winget)

インストール済みアプリをアップデートするときは「Software updates」タブを選択すると、アップデート可能なアプリが一覧表示されるので、アップデートするアプリを右クリックして、メニューから「Update」を選択します。

Windowsで複数のアプリを一括インストールする方法(winget)

また「Upgrade all packages」をクリックすれば、アップデート可能なアプリをまとめてアップデートすることもできます。

Windowsで複数のアプリを一括インストールする方法(winget)

アプリをアンインストールするときは「Installed applications」タブを選択することで、インストール済みアプリが一覧表示されるので、アンインストールしたいアプリをダブルクリックすることで、アンインストールできます。

Windowsで複数のアプリを一括インストールする方法(winget)

あとがき

wingetは、たくさんのPCに同じアプリやツールをインストールしなければならいないようなケースでとても重宝します。ご活用あれ。