アプリのインストールや更新をコマンドでサクっと実行「winget」の使い方Windows 10 The Latest

Microsoftが開発していたパッケージマネジャー「winget」が正式リリースされた。wingetを使うことで、アプリやツールがコマンドで簡単にインストール可能になるため、スクリプトで同じ環境をすぐに再現できるようになる。wingetのインストールから簡単な使い方までを紹介しよう。

» 2021年06月11日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows 10 The Latest」のインデックス

連載目次

wingetによりコマンドラインによるアプリの管理が可能に wingetによりコマンドラインによるアプリの管理が可能に
Microsoftが開発していたパッケージマネジャー「winget」が正式リリースされた。wingetを使うことで、コマンドラインでさまざまなアプリをインストールしたり、バージョンアップしたりできるようになる。今回は、wingetのインストール方法から基本的な使い方までを紹介する。

 スマートフォンを買い換えても、同じOS(iOSからiOS、AndroidからAndroid)ならば、初期設定時のウィザードで、設定やアプリなどが前のスマートフォンと同じになり、すぐに使うことができる。

 ところが、新しいWindows 10 PCを購入したり、Windows 10の初期化を行ったりすると、Windows 10の設定やアプリのインストールが必要になる。Windows 10も、Microsoftアカウントで同期すれば、設定のかなりの部分が前のPCと同じにできるが、アプリのインストールは個別に行わなければならない。

 アプリごとにWebブラウザで配布先を開き、ダウンロードしてインストールしなければならず、この作業は意外と面倒だ。そのため、アプリのインストーラーをオンラインストレージに全て保存しておき、新しいPCにはそこからインストールするという運用を行っている人もいるのではないだろうか。ただ、その場合でもアプリがバージョンアップしてしまうと、個別にアップデートしたり、場合によっては再インストールが必要であったりと、二度手間になってしまうこともある。

 こうした手間を省くものとして、「パッケージマネジャー(パッケージ管理システム)」と呼ばれるツールがある。インストールしたいアプリやツールを並べたスクリプトを用意しておき、これ実行することで自動的に環境構築を行うというものだ。事前にスクリプトを作る手間はかかるものの、いちいち配布先からパッケージをダウンロードしてインストールするよりも手早く環境構築が行える。特に会社などでは、スクリプトを1つ書いておき、それを実行するだけで大量のPCに同じ環境が構築できるというメリットがある。

 これまでも、こうしたパッケージマネジャーはWindows OS向けにも提供されていたが、サードパーティー製ということもあり、なかなか一般的になっていなかった。今回、Microsoftが開発した「Windows Package Manager(winget)」がv1.0となり、正式に提供開始となったことで、この状況も変わってくるかもしれない。

wingetを使ったアプリの管理例 wingetを使ったアプリの管理例
wingetを使うことで、コマンドラインでアプリをインストールしたり、バージョンアップしたりできる。異なるベンダーのアプリであっても一括管理できるので、初期設定などが非常に楽になる。

 wingetについては、既にWindows 10 The Latest「Windows環境再構築をコマンドラインで自動化可能にするMicrosoft製ツール『winget』とは」でβ版を紹介しているので、ここでは簡単に正式版での変更点や簡単な使い方を紹介する。

wingetのインストール方法

 wingetは、Microsoft StoreまたはGitHubからインストールが行える。Microsoft Storeからインストールした場合は、最新版がリリースされると自動的に更新される。一方、GitHubからインストールした場合は、常に最新版を自分でダウンロードして更新していく必要がある。

 Microsoft Storeからインストールするのが簡単でメンテナンスも容易だが、何らかの理由でバージョンを固定して使いたいといった場合はGitHubからインストールするとよい。

 GitHubからインストールした後、Microsoft Store版に変更したい場合は、GitHub版をアンインストールする必要がある(後述)。

Microsoft Storeでwingetをインストールする

 Microsoft Storeを起動し、[検索]アイコンをクリックし、検索ボックスに「アプリ インストーラー」と入力する。検索ボックスの下にサジェスチョンとして「アプリ インストーラー」が表示されるので、これをクリックする。原稿執筆時点では、ここで検索を行っても検索結果が「次の条件では該当する結果が見つかりません」と表示され、「winget」は表示されない。サジェスチョンの「アプリ インストーラー」をクリックして[アプリ インストーラー]画面を開き、ここからインストールを行うこと。

Microsoft Storeでwingetをインストールする(1) Microsoft Storeでwingetをインストールする(1)
Microsoft Storeを起動し、検索ボックスに「アプリ インストーラー」と入力する。検索ボックスの下にサジェスチョンとして「アプリ インストーラー」が表示されるので、これをクリックする。
Microsoft Storeでwingetをインストールする(2) Microsoft Storeでwingetをインストールする(2)
[アプリ インストーラー]画面が開くので、[入手]ボタンをクリックしてインストールを行う。

 上記の「アプリ インストーラー」の画面で「この製品はインストール済みです。」と表示され、かつコマンドプロンプトで「winget -v」を実行すると、v1.0未満のバージョン番号が表示されたら、プレビュー版(β版)がインストール済みである。その場合、後述の「既にプレビュー版をインストールしている場合」を参照して、正式版をインストールしてほしい。

wingetがインストール済みの場合はバージョンを確認する wingetがインストール済みの場合はバージョンを確認する
プレビュー版(β版)がインストール済みだと、このようにv1.0未満のバージョン番号や「プレビュー」が表示される。その場合、後述の方法で正式版をインストールする。

 さて、インストールが完了しても、[スタート]メニューには登録されないので注意してほしい。インストールされたかどうかは、コマンドプロンプトを起動し、「winget」を実行してみればよい。wingetのヘルプが表示されたら、インストールは正常に行われている。

 また、[Windowsの設定]アプリを起動し、[アプリ]−[アプリと機能]画面を開き、「アプリと機能」欄の[アプリ実行エイリアス]リンクをクリックして開く、[アプリ実行エイリアス]画面に「Windows Package Manager Client」が登録されているかどうかで確認できる。

wingetがインストールされていることを確認する(1) wingetがインストールされていることを確認する(1)
[Windowsの設定]アプリを起動し、[アプリ]−[アプリと機能]画面を開く。右ペインの[アプリ実行エイリアス]をクリックする。
wingetがインストールされていることを確認する(2) wingetがインストールされていることを確認する(2)
[アプリ実行エイリアス]画面が開いたら、「Windows Package Manager Client(winget.exe)」が登録されていることを確認する。

GitHubからwingetをインストールする

 WebブラウザでGitHubの「microsoft/winget-cli」を開き、右ペインの「Releases」の「Windows Package Manager <バージョン番号>」をクリックする。[Windows Package Manager <バージョン番号>]画面が開くので、画面の下の方にある「Assets」の[Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle]リンクをクリックする。パッケージのダウンロードが行えるので、これを実行すればインストールが行える。

GitHubからwingetをインストールする(1) GitHubからwingetをインストールする(1)
WebブラウザでGitHubの「microsoft/winget-cli」リポジトリを開き、右ペインの「Releases」欄下の[Windows Package…]リンクをクリックする。
GitHubからwingetをインストールする(2) GitHubからwingetをインストールする(2)
[Windows Package Manager <バージョン番号>]画面が開くので、画面を一番下までスクロールする。
GitHubからwingetをインストールする(3) GitHubからwingetをインストールする(3)
「Assets」欄の[Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle]リンクをクリックする。
GitHubからwingetをインストールする(4) GitHubからwingetをインストールする(4)
ファイルがダウンロードされるので、これを実行する。[ダウンロード]フォルダを開いて実行してもよい。
GitHubからwingetをインストールする(5) GitHubからwingetをインストールする(5)
[アプリインストーラーを更新しますか?]ダイアログが表示されるので、[更新]ボタンをクリックする。
GitHubからwingetをインストールする(6) GitHubからwingetをインストールする(6)
このダイアログが表示されたらインストールが完了だ。

既にプレビュー版をインストールしている場合

 wingetは、[スタート]メニューやコントロールパネルの[プログラムと機能]に表示されないため、GUIを使ってアンインストールが行えない。

 GitHubからプレビュー版をダウンロードしてインストールしている場合は、GitHubから正式版をダウンロードしてインストールするか、PowerShell 5.xで以下のコマンドレットを実行して事前にアンインストールした後、Microsoft Storeからインストールを行う必要がある。

Get-AppxPackage *Microsoft.DesktopAppInstaller* | Remove-AppxPackage

wingetをアンインストールするコマンドレット

wingetをアンインストールする wingetをアンインストールする
wingetをアンインストールするには、PowerShellで上記のコマンドを実行する必要がある。ただし、wingetをアンインストールすると、「.appxbundle」ファイルの関連付けも削除されてしまうので注意してほしい。

 PowerShell 7.xの場合、上記のコマンドレットを実行すると、Appxモジュールをロードできないというエラーが発生する。その場合、[スタート]メニューにある「Windows PowerShell」(こちらがPowerShell 5.x)を選んで起動し、上記コマンドレットを実行すること。

 なお、wingetをアンインストールすると、「.appxbundle」ファイルの関連付けも削除されてしまい、GitHubからパッケージをダウンロードしてインストールすることができなくなるので注意してほしい(Microsoft Storeからwingetをインストールすれば、関連付けが復活する)。

wingetの使い方

 wingetは、アプリのインストールなどをスクリプトやバッチで一括して行う用途を想定しているため、コマンドラインで操作を行う。

 wingetのコマンドラインは以下の書式を使う。

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


winget.exeの書式

 wingetは、引数を何も付けずに実行するとオンラインヘルプを表示するので、サブコマンドが分からなくなったら、wingetのみを実行すればよい。

サブコマンド 説明
-v/--version wingetのバージョンを表示
--info wingetの情報を表示
install 指定されたパッケージをインストール
show パッケージに関する情報を表示
source パッケージのソースの管理
search アプリの基本情報を見つけて表示
list インストール済みパッケージを表示
upgrade 指定されたパッケージをアップグレード
uninstall 指定されたパッケージをアンインストール
hash インストーラーファイルをハッシュするヘルパー
validate マニフェストファイルを検証
settings 設定(settings.josnファイル)を開く
features 試験的な機能の状態を表示
export インストールされているパッケージのリストをエクスポート
import ファイル中の全てのパッケージをインストール
wingetのサブコマンド

 wingetのサブコマンドには、さらに特有のオプション指定が必要になる。詳細は、Windows 10 The Latest「Windows環境再構築をコマンドラインで自動化可能にするMicrosoft製ツール『winget』とは」を参照してほしい。以下では、よく使う基本的なサブコマンドを紹介する。

wingetでアプリをインストールする

 wingetでアプリをインストールするには、どのようなアプリがリポジトリ(配布元)に登録されているのかを確認する必要がある。

 それには、以下のコマンドを実行する。

winget show > C:\Temp\wingetlist.txt


wingetでインストール可能なアプリの一覧を取得する

 「show」サブコマンドでアプリの一覧を取得し、それを「C:\Temp\wingetlist.txt」に出力している。ファイルに出力するのは、リストが長く、コマンドプロンプト上でインストールしたいアプリが登録されているのかどうかを確認するのが難しいからだ。そのため、テキストファイルに出力してから、テキストエディタなどで検索する方がよいだろう。なお、出力されたテキストファイルの文字コードはUTF-8になっている。

 インストールしたいアプリが見つかったら、以下のコマンドを実行する。ここでは「Visual Studio Code」をインストールする例を示す。

winget install -h Microsoft.VisualStudioCode


wingetでVisual Studio Codeをインストールする

 「install」サブコマンドでインストールを指示し、「-h」オプションでサイレントインストールを指定する。Visual Studio Codeをインストールする場合、「show」サブコマンドで出力したファイルで「Visual Studio」を検索して、Visual Studio CodeのID(Microsoft.VisualStudioCode)を得る。

 同様にインストールしたいアプリを探し、上記と同様にインストール用のコマンドラインを用意し、一括インストール用のバッチファイルに追記していけばよい(詳細は後述)。

 なお、アプリによってはインストール時に管理者権限が必要なものがある。そうしたアプリをwingetでインストールする場合には、管理者権限で起動したコマンドプロンプトでwinget installのコマンドラインを実行すること。

wingetでアプリをバージョンアップする

 wingetを使ってアプリをバージョンアップすることも可能だ。単に「upgrade」サブコマンドを付けて実行すると、wingetでバージョンアップ可能なアプリの一覧を取得できる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。