Windows 10/11で使えるWinGetパッケージマネージャーの完全ガイド
Windows 10および11には、WinGet(Windows Package Manager)という新しいネイティブのパッケージマネージャーが搭載されました。コマンドプロンプトやPowerShellからアプリをインストールできるツールで、Linuxのyum、dnf、aptのようなパッケージ管理をWindows上で実現します。
WinGet.exeはコンソールツールで、ChocolateyのようにWindows PCへのアプリ導入を簡単にします。従来は公式サイトを検索し、インストーラーをダウンロードして手動で実行する必要がありましたが、Windows Package Managerを使えば、リポジトリからたった1つのコマンドでプログラムのインストールや更新が可能です。
Windows 10にWinGetパッケージマネージャーをインストールする方法
WinGetはビルド1709以降のWindows 10にインストールできます。最新のWindows 11 21H2やWindows 10 21H1のイメージには、すでにWingetが組み込まれています。
お使いのPCにwingetがインストールされているか確認するには、PowerShellコンソールを開いて次のコマンドを実行します。
Get-AppPackage *Microsoft.DesktopAppInstaller*|select Name,PackageFullName
wingetがインストールされていれば、UWPアプリ名としてMicrosoft.DesktopAppInstallerが表示されます。
なお、wingetはデスクトップ版Windows(10および11)でのみ使用できます。Windows Server 2022では正式サポートされていませんが、試験的なモードでインストールすることは可能です。
WinGetはMicrosoft Storeから「App Installer」という名称で入手できます。
Microsoft Store経由でインストールするには、Storeが正常に動作している必要があります(Microsoft Storeが削除・破損している場合は、再インストールまたは修復を行ってください)。
また、組み込みUWPアプリを削除している環境などでは、PowerShellを使って手動でwingetをインストールすることもできます。GitHub(https://github.com/microsoft/winget-cli/releases)からmsixbundleファイルをダウンロードしてインストールします。
Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.1.12653/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\PS\WinGet.msixbundle"
Add-AppxPackage "C:\PS\WinGet.msixbundle"
もちろん、WinGetパッケージを手動でダウンロードしてインストールすることも可能です。
インストールされたwingetのバージョンは、次のコマンドで確認できます。
winget --version
wingetの基本コマンド一覧
winget install <package>— パッケージをインストールwinget uninstall <package>— パッケージを削除winget upgrade— ソフトウェアパッケージを更新winget list— インストール済みアプリの一覧を表示winget show <package>— パッケージ情報を表示winget source <options>— リポジトリを管理winget search <search_string>— リポジトリ内のパッケージを検索winget export— インストール済みプログラム一覧をファイルにエクスポートwinget import— ファイル内のリストに基づいてプログラムをインストールwinget hash <package>— パッケージインストーラーのハッシュ値を取得winget validate <package>— マニフェストファイルを検証
wingetの設定はsettings.jsonファイル(C:\Users\%username%\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState)に保存されています。設定を変更するには、次のコマンドを使用します。
winget settings
WinGetを使ったWindowsへのソフトウェアパッケージ展開
WinGetパッケージマネージャーでプログラムをインストールする際は、オンラインリポジトリが利用されます。登録されているリポジトリの一覧は、次のコマンドで表示できます。
winget source list
デフォルトでは、WinGetには2つの公式リポジトリが用意されています。
- msstore(https://storeedgefd.dsx.mp.microsoft.com/v9.0)— Microsoft Storeリポジトリ
- winget(https://winget.azureedge.net/cache)— Microsoftが運営する基本のソフトウェアリポジトリ
WinGetではサードパーティのリポジトリも接続できます。他のソースを追加するには、winget sourceコマンドを使用します。
WinGetでアプリをインストールする前に、まずパッケージ名を調べる必要があります。パッケージの検索にはsearchコマンドを使います。例えば、リポジトリからzipアーカイブマネージャーを検索するには、次のコマンドを実行します。
winget search zip
Microsoft Storeリポジトリのみを検索対象にしたい場合は、次のようにします。
winget search zip -s msstore
このコマンドは、検索条件に一致するパッケージのリスト(名前とバージョン付き)を返します。Source列に注目してください。ここには、そのパッケージがどのリポジトリにあるかが表示されます。
特定のパッケージについて詳しい情報を取得することもできます。
winget show 7zip.7zip
リポジトリには1つのパッケージの複数バージョンがホストされている場合があります。利用可能なバージョンのリストを表示するには、次のコマンドを実行します。
winget show 7zip.7zip --versions
例えば7zipをインストールしたい場合は、パッケージ名またはIDをコピーして、次のインストールコマンドを実行します。
winget install 7zip.7zip
デフォルトでは最新の利用可能なバージョンがインストールされます。特定のバージョンを指定してインストールすることも可能です。
winget install 7zip.7zip -v 21.05
ご覧のとおり、パッケージマネージャーは1つのコマンドだけで自動的にアプリをダウンロードしてインストールしました。インストールされたプログラムは、Windowsのスタートメニューのアプリ一覧にも表示されます。
続けて、PowerShellスクリプト用にWindows TerminalとVSCodeもインストールしてみましょう。
まずパッケージ名を検索します。
winget search terminal
winget search "visual studio"
次に、順番にインストールします。
winget install Microsoft.WindowsTerminal –e ; winget install Microsoft.VisualStudioCode –e
パッケージのインストールをバックグラウンドで実行したい場合は、--silentオプションを使用します。
winget install "VLC media player" --silent
一部のソフトウェアをインストールする際は、ライセンス条項への同意を自動化できます。例えばSysinternalsツールキットをインストールする場合は次のとおりです。
winget install sysinternals --accept-package-agreements
デフォルトでは、プログラムはシステムドライブのProgram Filesフォルダにインストールされます。インストール先フォルダは変更可能です。
winget install microsoft.visualstudiocode --location "D:\Programs"
なお、管理者権限なしでwingetを実行した場合、一部のプログラムのインストール時にUAC昇格プロンプトが表示されることがあります。管理者権限で起動したcmd/PowerShellコンソールでwingetを実行すれば、UACプロンプトなしですべてのプログラムをインストールできます(信頼できるアプリだけをインストールするよう注意してください)。
Winstall:WinGetパッケージマネージャー用のWeb GUI
wingetのCLIインターフェースが苦手なユーザーには、Winstall(https://winstall.app/)というWebサービスがおすすめです。WinstallはWinGetリポジトリのグラフィカルインターフェースで、2900以上のプログラムをインストールできます。
Winstallを使えば、必要なプログラムのインストールスクリプトを生成できます。リポジトリでプログラムを探し、+ボタンをクリックしてインストールスクリプトに追加していきます。
その後、「Generate Script」ボタンをクリックすると、選択したアプリパッケージをインストールするためのCLIコマンドが作成されます。
BatchタブまたはPowerShellタブからコードをコピーし、cmd.exeまたはPowerShellコンソールに貼り付けるだけです。
これにより、必要なプログラムをわずか1つのコマンドでまとめてインストールできます。
WinGetによるWindows上のパッケージ更新と削除
WinGetはプログラムのインストールだけでなく、更新や削除にも対応しています。PCにインストールされているプログラムの一覧を表示するには、次のコマンドを実行します。
winget list
このコマンドは、PCにインストールされているすべてのプログラム(winget以外でインストールされたものも含む)を表示します。プログラムの更新が利用可能な場合、新しいバージョンが「Available」列に表示されます。
wingetでインストールしたアプリを更新するには、次のコマンドを実行します。
winget upgrade --id 7zip.7zip
インストール済みのすべてのプログラムを一括更新することもできます。
winget upgrade --all
プログラムを削除するには、次のコマンドを使用します。
winget uninstall --name 7zip.7zip
WinGet経由でインストールしていないアプリも、IDを指定してアンインストールできます。
winget uninstall --id "{0F693AA3-4387-4ACB-A6FD-3A396290587}"
WinGetでインストール済みソフトウェア一覧を別のPCへエクスポート/インポートする方法
WinGetを使えば、あるPCにインストールされているプログラムのリストをJSONファイルにエクスポートし、そのファイルを使って別のPCに同じアプリセットを素早くインストール(インポート)できます。
インストール済みアプリのリストをJSONファイルにエクスポートするには、次のコマンドを実行します。
winget export -o c:\ps\installedapps.json --include-versions
プログラムのマニフェストが存在しない場合、コマンドは「The installed package is not available in any source(インストール済みパッケージはどのソースでも利用できません)」というエラーを表示します。
このファイルには、Windows Package Manager経由でインストールされたプログラムのリストが含まれています。
別のPCでJSONファイルからプログラムセットをインストールするには、次のコマンドを実行します。
winget import -o .\installed_apps.json
インストール時にバージョンや利用不可のプログラムを無視したい場合は、--ignore-unavailableおよび--ignore-versionsオプションを追加してください。
-
Windows 10・8・7対応!おすすめダウンロードマネージャー5選
映画、音楽、テレビ番組、ソフトウェアなど、インターネット上にはダウンロードできるコンテンツが数多く存在します。通信速度の向上とデータプランの低価格化により、コンテンツをダウンロードして楽しむユーザーがますます増えています。お気に入りの映画があるなら、ストリーミング再生でデータ容量を消費するよりも、ダウンロードしてドライブに保存しておく方が賢い選択といえるでしょう。 しかし、大容量ファイルのダウンロードには長い時間がかかることがあります。さらに厄介なのは、途中でインターネット接続が切断されると、それまでダウンロードしたデータが失われ、最初からやり直しになってしまう点です。 こうした問題を一挙に解
-
Winget――Windowsパッケージマネージャーがすべてを叶える
パッケージ管理という概念――ユーザーが必要なアプリケーションを一元的な場所からまとめて入手できる仕組み――は、決して目新しいものではありません。モバイルOSに始まったわけでもなく、Linuxでは長年にわたって存在し、やがてアプリストアへと進化しました。AppleにはApp Storeがあり、GoogleにはGoogle Playがあります。そしてMicrosoftには……まあ、あるにはあるのです。しかし残念ながら、それはWindowsの主要なユーザー層である無数のデスクトップユーザーには向けられたものではありませんでした。筆者はWindows Phoneの大ファンで、今でもLumia 520か