以前は、Windows を再インストールする前に、インストール済みソフトの一覧をスクリーンショットで保存していました。そして再インストール後、その画像を見ながら各ソフトの公式サイトにアクセスし、インストーラーを一つずつダウンロードして、手作業でインストールしていました。
最近、Linux や macOS で使われているパッケージマネージャー、たとえば apt、dnf、Homebrew などに触れる機会がありました。そこで、Windows でも同じような方法でソフトをインストールできれば、もっと便利でスマートなのではないかと思うようになりました。
そこで使い始めたのが WinGet、正式には Windows Package Manager です。これは Microsoft が提供している Windows 向けのコマンドライン型パッケージマネージャーで、比較的新しい Windows 11 環境では、通常「アプリ インストーラー」を通じて利用できるようになっています。
WinGet を使うと、各ソフトの Web サイトからインストーラーを手動でダウンロードしなくても、コマンドラインからソフトを検索・インストールできます。
WinGet の基本コマンド
検索とインストール
WinGet で特定のソフトをインストールする流れは、大きく分けると二段階です。まずパッケージIDを検索し、そのパッケージ ID を指定してインストールします。
まず PowerShell を開きます。Windows のロゴ、つまり左クリックするとスタートメニューが開くボタンを右クリックして、Terminal または ターミナル を選ぶ方法があります。スタートメニューから PowerShell を検索して開いても構いません。
たとえば PotPlayer をインストールしたい場合、まず以下のコマンドを入力します。これは、potplayer を含むパッケージを検索するという意味です。
winget search potplayer検索すると、複数の結果が表示されることがあります。このときは少し判断が必要です。
WinGetのパッケージIDは、多くの場合 開発元名.ソフト名 のような形式になっています。前半は開発元、組織名、プロジェクト名などで、後半はソフト名であることが多いです。
そのため、検索結果の中にある Daum.PotPlayer が、今回インストールしたい PotPlayer のパッケージ ID だと判断できます。
次に、以下のコマンドを実行します。
winget install Daum.PotPlayerDaum.PotPlayer は手入力してもよいですし、検索結果からコピーして貼り付けても構いません。
Windows Terminal や新しい PowerShell では、通常 Ctrl+C と Ctrl+V でコピー・貼り付けができます。古いコンソール画面では、文字列を選択して右クリックするとコピーされ、もう一度右クリックすると貼り付けられる場合もあります。
より厳密に指定したい場合、特にスクリプトを書く場合は、次のように --id と --exact を付けることもできます。
winget install --id Daum.PotPlayer --exactこれは「このパッケージIDと完全に一致するものをインストールする」という指定です。
アンインストール
ソフトをアンインストールしたい場合は、uninstall コマンドを使います。
たとえば、先ほどインストールした PotPlayer をアンインストールするには、次のように入力します。
winget uninstall Daum.PotPlayer以前にインストールしたソフトで、パッケージIDを覚えていない場合は、list コマンドでインストール済みソフトの一覧を確認できます。
winget listwinget list で表示されるソフトには、WinGet でインストールしたものだけでなく、他の方法でインストールしたものも含まれます。WinGet で管理されているソフトは、通常 Source 列に winget と表示されます。
ただし、他の方法でインストールしたソフトは、WinGet から必ずしも正常にアンインストールできるとは限りません。
アップグレード
アップグレードできるソフトを確認するには、次のコマンドを実行します。
winget upgradeこのコマンドは、アップグレード可能なソフトの一覧を表示するだけです。まだ実際のアップグレードは行われません。
表示された一覧のソフトをすべてアップグレードしたい場合は、次のように入力します。
winget upgrade --all特定のソフトだけをアップグレードしたい場合は、そのパッケージ ID を指定します。
winget upgrade Daum.PotPlayer実際には、まず winget upgrade で一覧を確認してから、必要に応じて winget upgrade --all を実行するのがよいと思います。
一括インストール用スクリプト
検索して確認したパッケージ ID は、保存しておくことができます。そうしておけば、次に Windows を再インストールした後、保存しておいたパッケージIDを使って、winget install コマンドを順番に実行できます。
これにより、各ソフトの公式サイトを一つずつ探してインストーラーをダウンロードする手間を減らせます。また、広告やおすすめインストール、バンドルソフトが含まれる可能性のあるサードパーティ製ソフト管理ツールに頼る必要も少なくなります。
さらに、一つずつインストールする代わりに、保存しておいたパッケージ ID を PowerShell スクリプトにまとめて、WinGet で自動的にインストールすることもできます。
現在、私が使っている一括インストール用のコードは以下のようなものです。自分の環境に合わせて、インストールしたいソフトを追加・削除できます。
$apps = @(
"SublimeHQ.SublimeText.4",
"Daum.PotPlayer",
"Valve.Steam",
"HandBrake.HandBrake",
"Cryptomator.Cryptomator",
"WinFsp.WinFsp",
"PDFArranger.PDFArranger",
"Anki.Anki",
"FastStone.Viewer",
"ShareX.ShareX",
"voidtools.Everything",
"M2Team.NanaZip",
"chrox.Readest",
"LocalSend.LocalSend",
"Gyan.FFmpeg"
)
foreach ($app in $apps) {
Write-Host "Installing: $app" -ForegroundColor Cyan
winget install --id $app --exact --source winget --accept-package-agreements --accept-source-agreements
}重要なのは $apps の部分です。ここに並んでいる各行が、WinGet のパッケージ ID です。別のソフトを追加したい場合は、まず winget search ソフト名 でパッケージIDを確認し、その ID をこのリストに追加します。
その下の foreach ループは、$apps に入っているパッケージIDを一つずつ取り出して、自動的にインストールしていきます。
インストールコマンドの中で使っているオプションの意味は、次の通りです。
--idパッケージ ID を指定してインストールするという意味です。
--exact指定した ID と完全に一致するパッケージだけを対象にします。似た名前の別ソフトを誤ってインストールするリスクを減らせます。
--source wingetWinGetのソースを指定しています。
--accept-package-agreements
--accept-source-agreementsパッケージやソースに関する確認事項を自動的に承認します。これにより、一括インストール中に確認待ちで止まりにくくなります。
ただし、ソフトによっては管理者権限が必要だったり、追加の確認操作が必要だったり、インストール後に再起動が必要になる場合もあります。
一括インストール中に特定のソフトだけ失敗した場合は、そのソフトのパッケージ ID を使って、次のようなコマンドを単独で実行すると、エラー内容を確認しやすくなります。
winget install --id Package.ID --exact通常、winget source update を手動で実行する必要はありません。ただし、Windows を再インストールした直後や、本来見つかるはずのソフトが検索できない場合は、次のコマンドでソース情報を更新してから、もう一度検索またはインストールしてみるとよいでしょう。
winget source updateまとめ
私にとって、WinGet の一番大きなメリットは、単にクリック数を減らせることだけではありません。Windows を再インストールした後の作業手順そのものを変えられることです。
以前のように、スクリーンショットを見ながら記憶を頼りに公式サイトを探し、インストーラーを一つずつダウンロードする必要がなくなります。
代わりに、よく使うソフトのパッケージIDを一覧として保存しておき、必要なときにスクリプトでまとめてインストールできます。
Linux や macOS のパッケージマネージャーに近い感覚で Windows 環境を整えられるので、Windows の再インストール後の作業がかなり楽になります。