Windows 11
 Computer >> コンピューター >  >> システム >> Windows 11

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オプションを追加してください。

  1. Windows 10・8・7対応!おすすめダウンロードマネージャー5選

    映画、音楽、テレビ番組、ソフトウェアなど、インターネット上にはダウンロードできるコンテンツが数多く存在します。通信速度の向上とデータプランの低価格化により、コンテンツをダウンロードして楽しむユーザーがますます増えています。お気に入りの映画があるなら、ストリーミング再生でデータ容量を消費するよりも、ダウンロードしてドライブに保存しておく方が賢い選択といえるでしょう。 しかし、大容量ファイルのダウンロードには長い時間がかかることがあります。さらに厄介なのは、途中でインターネット接続が切断されると、それまでダウンロードしたデータが失われ、最初からやり直しになってしまう点です。 こうした問題を一挙に解

  2. Winget――Windowsパッケージマネージャーがすべてを叶える

    パッケージ管理という概念――ユーザーが必要なアプリケーションを一元的な場所からまとめて入手できる仕組み――は、決して目新しいものではありません。モバイルOSに始まったわけでもなく、Linuxでは長年にわたって存在し、やがてアプリストアへと進化しました。AppleにはApp Storeがあり、GoogleにはGoogle Playがあります。そしてMicrosoftには……まあ、あるにはあるのです。しかし残念ながら、それはWindowsの主要なユーザー層である無数のデスクトップユーザーには向けられたものではありませんでした。筆者はWindows Phoneの大ファンで、今でもLumia 520か