wingetを使おう 前編:wingetのインストールと基本操作

2021年8月9日WindowsWindows

Microsoftは現在、wingetというツールを開発中です。wingetは「Windows Package Manager」の略称・コマンド名で、Linuxでいうパッケージ管理ソフトにあたるツールです。Debian/Ubuntu系の「apt」、Red Hat/CentOS系の「yum」や「dnf」のWindows版だ、と言った方が分かりやすいかもしれません。

wingetを使えば、コマンド一つでソフトのインストールができますので、パソコンの初期設定の自動化が行いやすくなります。また、ソフトの一括アップデート(upgrade)もできるそうです。

そんなwingetですが、2021年5月にバージョン1.0が公開され、実用レベルになってきたみたいですので、紹介します。

ご案内

本記事は、「wingetを使おう」前編・中編・後編のうち前編です。

前編(本記事)では、wingetそのもののインストール方法と、wingetを用いたアプリのインストール方法を紹介します。

中編では、wingetを用いたアプリのアンインストール、アップグレードや、インストール済みアプリ一覧の取得方法を紹介します。

後編では、wingetそのものの設定方法やその他情報(PowerShellのTabキー補完)を紹介します。

「winget」とは

Microsoftが開発中のwingetは、「Windows Package Manager」の略称・コマンド名で、Windows用のパッケージ管理ソフトです。Linuxでいうapt、yum、dnfなどのツールに相当します。

aptなどと同様、コマンドラインで操作するツールで、リポジトリにあるソフトをインストールしたり、アップデート(upgrade)したり、アンインストールしたりできます。記事執筆時点の最新版「v1.0.11591」ではできませんが、将来的には、ストアアプリのインストール、ZIPファイルからのインストール、依存関係を考慮したインストールなどもできるようになるそうです。

コマンドラインで動かすツールであり、自動化しやすいため、複数台のパソコンを同じようにソフトをインストールしたい際に便利だと思います。また、ストアアプリ以外のソフトも一括アップデートできますので、日々のバージョン管理が楽になるでしょう。

「winget」のインストール方法

バージョン1.0になったとはいえ、wingetは開発途上のプレビュー版であり、まだWindowsに標準搭載はされていません。wingetは、Microsoftの「アプリ インストーラー」というアプリのプレビュー版をインストールすると使えるようになります。次のいずれかの方法でアプリ インストーラーのプレビュー版が手に入りますので、皆さんの都合に合わせて、いずれかの方法でインストールを行ってください。

  • Windows Insider Previewに参加する
  • 「アプリ インストーラー」のInsider Programへ参加する
  • 手動で「アプリ インストーラー」のプレビュー版へアップデートする

なお、wingetは、Windows 10 (1809、ビルド17763)以降で利用できます。

Windows Insider Previewに参加する

一つ目の方法はWindows Insider Previewに参加する方法です。Windows 10やWindows 11のInsider Previewに参加している方は、Microsoftストアで「アプリ インストーラー」をアップデートすると使えるようになります。

まず、「設定」アプリのWindows Updateのところで、Windows Insider Previewに参加します。(この部分の説明は割愛します。また、Insider Previewに参加しても良い環境かは、ご自身でご判断ください)

次に、Insider Preview版のWindowsにアップデートしたら、Microsoftストアを開きます。ストアの検索欄で「App Installer」と検索し、「アプリ インストーラー」を選択します。日本語で「アプリ インストーラー」と入力しても出てきませんので、気をつけてください。もしくは、こちらのリンクから「入手」をクリックし、Microsoftストアへ移ってください。

既にインストール済みだと思いますが、古いバージョンだった場合は更新します。これだけで準備完了です。

Microsoftストアで「アプリ インストーラー」を更新します

もしくは、ライブラリのページで、インストール済みの全ストアアプリを更新しても構いません。

「アプリ インストーラー」のInsider Programへ参加する

WindowsのInsider Previewは、バグがある可能性が高く、常用しているパソコンでInsider Previewに参加するのは難しいかもしれません。そのような方は、「アプリ インストーラーのInsider Programへ参加する」という方法もとることができます。こちらであれば、安定版のWindowsに「アプリ インストーラー」のプレビュー版がインストールできます。

まず、アプリ インストーラーのInsider Programへの参加登録が必要です。次のページで、Microsoftストアで使用しているMicrosoftアカウントのメールアドレスを入力し、送信します。

Join the Windows Package Manager Insiders Program (Microsoft Forms)

Insider Programへの参加確認メールが届いてから数日後に、プレビュー版の「アプリ インストーラー」へ更新できるようになるそうです。このアプリの更新ができたら、次へ進んでください。

手動で「アプリ インストーラー」のプレビュー版へアップデートする

三つ目の方法は、手動で「アプリ インストーラー」をプレビュー版へアップデートする方法です。最も手軽な方法ではありますが、Microsoftストアでインストールするわけではないため、今後wingetがバージョンアップしても、自動でwinget自身がアップデートされることはありません。そのため、Microsoft的には非推奨のようです。

「アプリ インストーラー」のプレビュー版は、wingetのGitHubリリースページからダウンロードできます。

このページから、最新版のインストーラーをダウンロードし、インストールしてください。記事執筆時点では「v1.0.11692」が最新で、「Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle」というファイルをダウンロード・インストールすれば良いようです。

インストールが終わったら、次項へ進んでください。

wingetがインストールできたか確認する

ひとまず、wingetが正常にインストールできているか確認してみましょう。PowerShellやコマンドプロンプト等を開いてください。Windows 11であれば標準搭載されているWindows Terminalがおすすめです。スタートボタンを右クリックして「Windows ターミナル」を選択するだけで起動できます。

なお、ここで管理者権限でWindows Terminalなどを開くと、ソフトインストール時のUAC昇格メッセージが出てこなくなります。スクリプト等で何個もソフトをインストールする場合は、管理者権限で開いておくと便利だと思います。が、インストールするするソフトを間違えないように気をつけましょう。

スタートボタンを右クリックし、Windows Terminalを開きます

wingetの起動確認

winget -vで、wingetのバージョンが表示できます。また、wingetwinget --helpで簡単な説明書きを読むことができます。これらが実行できれば、wingetがインストールされています。

PS C:\> winget -v
v1.0.11591
PS C:\> winget
Windows Package Manager v1.0.11591
Copyright (c) Microsoft Corporation. All rights reserved.

WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。

使用状況: winget [<コマンド>] [<オプション>]

使用できるコマンドは次のとおりです:
  install    指定されたパッケージをインストール
  show       パッケージに関する情報を表示します
  source     パッケージのソースの管理
  search     アプリの基本情報を見つけて表示
  list       インストール済みパッケージを表示する
  upgrade    指定されたパッケージをアップグレードします
  uninstall  指定されたパッケージをアンインストール
  hash       インストーラー ファイルをハッシュするヘルパー
  validate   マニフェスト ファイルを検証
  settings   設定を開く
  features   試験的な機能の状態を表示
  export     インストールされているパッケージのリストをエクスポート
  import     ファイル中のすべてのパッケージをインストール

特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?]

次のオプションを使用できます。
  -v,--version  ツールのバージョンを表示
  --info        ツールの一般情報を表示

詳細については、次を参照してください。 https://aka.ms/winget-command-help
wingetコマンドが実行できるか確認します

wingetでソフトのインストール

wingetの導入が終わったら、さっそくwingetでソフトをインストールしてみましょう。ここでは、実際の利用を想定して 探す → インストールする の順番で紹介します。

winget search:パッケージを探す

winget search 検索ワードで、リポジトリにあるソフトを探せます。

PS C:\> winget search crystaldisk
名前                                  ID                                                  バージョン
----------------------------------------------------------------------------------------------------
CrystalDiskMark                       CrystalDewWorld.CrystalDiskMark                     8.0.4
CrystalDiskInfo                       CrystalDewWorld.CrystalDiskInfo                     8.12.4
CrystalDiskMark Shizuku Edition       CrystalDewWorld.CrystalDiskMark.ShizukuEdition      8.0.4
CrystalDiskInfo Kurei Kei Edition     CrystalDewWorld.CrystalDiskInfo.KureiKeiEdition     8.12.4
CrystalDiskMark Tsukumo Tokka Edition CrystalDewWorld.CrystalDiskMark.TsukumoTokkaEdition 8.0.4
CrystalDiskInfo Shizuku Edition       CrystalDewWorld.CrystalDiskInfo.ShizukuEdition      8.12.4
「winget search」でインストール可能なソフトを探せます
ご参考

wingetでインストール可能なソフト一覧「wingetリポジトリ」は、こちらのGitHubで管理されています(manifestディレクトリ)。一般のソフト開発者でもwingetリポジトリへ登録可能のようです。

winget install:パッケージをインストール

パッケージ名の指定について

winget install パッケージ名で、指定したパッケージをインストールできます。このときのパッケージ名は、前述のwinget searchで出てくる「名前」や「ID」、「moniker(通称名)」に完全一致するように指定しなければなりません(大文字と小文字は区別されません)。そのため、例えば「"CrystalDiskInfo Kurei Kei"」で探せばパッケージは一つに特定できるはずですが、それではインストールできません。

PS C:\> winget install "CrystalDiskInfo Kurei Kei"
入力条件に一致するパッケージが見つかりませんでした。
「winget install」は、「含む検索」ではなく「完全一致検索」です

CrystalDiskInfoのKurei Kei Editionをインストールするなら、パッケージ正式名の「"CrystalDiskInfo Kurei Kei Edition"」か、IDの「CrystalDewWorld.CrystalDiskInfo.KureiKeiEdition」を指定します。

PS C:\> winget install "CrystalDiskInfo Kurei Kei Edition"
見つかりました CrystalDiskInfo Kurei Kei Edition [CrystalDewWorld.CrystalDiskInfo.KureiKeiEdition]
(以下省略)
「winget install」には、パッケージの「名前」、「ID」、「moniker」を正しく指定します

また、同じパッケージ名が複数ある場合は、パッケージ名を指定してもインストールできません。

PS C:\> winget install mpc-hc
複数のパッケージが入力条件に一致しました。入力内容を修正してください。
名前   ID            ソース
---------------------------
MPC-HC MPC-HC.MPC-HC winget
MPC-HC clsid2.mpc-hc winget
「名前」で検索して複数ヒットした場合はインストールできません

このような場合は、IDを指定してインストールしましょう。

PS C:\> winget install mpc-hc.mpc-hc
見つかりました MPC-HC [MPC-HC.MPC-HC]
(以下省略)
その場合は「ID」を指定してインストールします

ちなみに「docker」で検索すると、「Docker Desktop」に「docker」というmonikerが設定されていることが分かります。ですので、「Docker Desktop」をインストールしたい場合は、単に「docker」と入れただけでもインストールできます。

wingetでパッケージをインストール

それでは実際にインストールしてみたいと思います。ここでは「CrystalDiskMark」をインストールします。

PS C:\> winget install CrystalDiskMark

コマンドを実行すると、インストーラーがダウンロードされ、自動的にインストールが始まります。Windows Terminalなどを一般権限で起動している場合、インストールするアプリによってはUAC昇格の許可を求められますので、問題なければ「はい」をクリックします。(「いいえ」を押すと、インストールが中断されます)

インストールするアプリによってはUAC昇格が必要です

インストールはサイレントモードで実行され、何も聞かれずデフォルト設定でインストールされます。下記のように完了した表示が出て、プロンプトが戻ってきたらインストール完了です。

PS C:\> winget install CrystalDiskMark
見つかりました CrystalDiskMark [CrystalDewWorld.CrystalDiskMark]
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://osdn.net/frs/redir.php?m=auto&f=crystaldiskmark%2F75540%2FCrystalDiskMark8_0_4.exe
  ██████████████████████████████  3.87 MB / 3.87 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
完了したと表示されたらアプリのインストールは完了です

なお、バージョンを指定してインストールしたい場合は、-vオプション(–versionオプション)を指定します。

PS C:\> winget install CrystalDiskMark -v 8.0.3
見つかりました CrystalDiskMark [CrystalDewWorld.CrystalDiskMark]
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://osdn.net/frs/redir.php?m=auto&f=crystaldiskmark%2F75466%2FCrystalDiskMark8_0_3.exe
  ██████████████████████████████  3.86 MB / 3.86 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
「-v」オプションで、インストールするバージョンを指定することも可能です