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については、既にWindows 10 The Latest「Windows環境再構築をコマンドラインで自動化可能にするMicrosoft製ツール『winget』とは」でβ版を紹介しているので、ここでは簡単に正式版での変更点や簡単な使い方を紹介する。
wingetは、Microsoft StoreまたはGitHubからインストールが行える。Microsoft Storeからインストールした場合は、最新版がリリースされると自動的に更新される。一方、GitHubからインストールした場合は、常に最新版を自分でダウンロードして更新していく必要がある。
Microsoft Storeからインストールするのが簡単でメンテナンスも容易だが、何らかの理由でバージョンを固定して使いたいといった場合はGitHubからインストールするとよい。
GitHubからインストールした後、Microsoft Store版に変更したい場合は、GitHub版をアンインストールする必要がある(後述)。
Microsoft Storeを起動し、[検索]アイコンをクリックし、検索ボックスに「アプリ インストーラー」と入力する。検索ボックスの下にサジェスチョンとして「アプリ インストーラー」が表示されるので、これをクリックする。原稿執筆時点では、ここで検索を行っても検索結果が「次の条件では該当する結果が見つかりません」と表示され、「winget」は表示されない。サジェスチョンの「アプリ インストーラー」をクリックして[アプリ インストーラー]画面を開き、ここからインストールを行うこと。
上記の「アプリ インストーラー」の画面で「この製品はインストール済みです。」と表示され、かつコマンドプロンプトで「winget -v」を実行すると、v1.0未満のバージョン番号が表示されたら、プレビュー版(β版)がインストール済みである。その場合、後述の「既にプレビュー版をインストールしている場合」を参照して、正式版をインストールしてほしい。
さて、インストールが完了しても、[スタート]メニューには登録されないので注意してほしい。インストールされたかどうかは、コマンドプロンプトを起動し、「winget」を実行してみればよい。wingetのヘルプが表示されたら、インストールは正常に行われている。
また、[Windowsの設定]アプリを起動し、[アプリ]−[アプリと機能]画面を開き、「アプリと機能」欄の[アプリ実行エイリアス]リンクをクリックして開く、[アプリ実行エイリアス]画面に「Windows Package Manager Client」が登録されているかどうかで確認できる。
WebブラウザでGitHubの「microsoft/winget-cli」を開き、右ペインの「Releases」の「Windows Package Manager <バージョン番号>」をクリックする。[Windows Package Manager <バージョン番号>]画面が開くので、画面の下の方にある「Assets」の[Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle]リンクをクリックする。パッケージのダウンロードが行えるので、これを実行すればインストールが行える。
wingetは、[スタート]メニューやコントロールパネルの[プログラムと機能]に表示されないため、GUIを使ってアンインストールが行えない。
GitHubからプレビュー版をダウンロードしてインストールしている場合は、GitHubから正式版をダウンロードしてインストールするか、PowerShell 5.xで以下のコマンドレットを実行して事前にアンインストールした後、Microsoft Storeからインストールを行う必要がある。
Get-AppxPackage *Microsoft.DesktopAppInstaller* | Remove-AppxPackage
PowerShell 7.xの場合、上記のコマンドレットを実行すると、Appxモジュールをロードできないというエラーが発生する。その場合、[スタート]メニューにある「Windows PowerShell」(こちらがPowerShell 5.x)を選んで起動し、上記コマンドレットを実行すること。
なお、wingetをアンインストールすると、「.appxbundle」ファイルの関連付けも削除されてしまい、GitHubからパッケージをダウンロードしてインストールすることができなくなるので注意してほしい(Microsoft Storeからwingetをインストールすれば、関連付けが復活する)。
wingetは、アプリのインストールなどをスクリプトやバッチで一括して行う用途を想定しているため、コマンドラインで操作を行う。
wingetのコマンドラインは以下の書式を使う。
winget [<サブコマンド>] [<サブコマンドオプション>]
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 show > C:\Temp\wingetlist.txt
「show」サブコマンドでアプリの一覧を取得し、それを「C:\Temp\wingetlist.txt」に出力している。ファイルに出力するのは、リストが長く、コマンドプロンプト上でインストールしたいアプリが登録されているのかどうかを確認するのが難しいからだ。そのため、テキストファイルに出力してから、テキストエディタなどで検索する方がよいだろう。なお、出力されたテキストファイルの文字コードはUTF-8になっている。
インストールしたいアプリが見つかったら、以下のコマンドを実行する。ここでは「Visual Studio Code」をインストールする例を示す。
winget install -h Microsoft.VisualStudioCode
「install」サブコマンドでインストールを指示し、「-h」オプションでサイレントインストールを指定する。Visual Studio Codeをインストールする場合、「show」サブコマンドで出力したファイルで「Visual Studio」を検索して、Visual Studio CodeのID(Microsoft.VisualStudioCode)を得る。
同様にインストールしたいアプリを探し、上記と同様にインストール用のコマンドラインを用意し、一括インストール用のバッチファイルに追記していけばよい(詳細は後述)。
なお、アプリによってはインストール時に管理者権限が必要なものがある。そうしたアプリをwingetでインストールする場合には、管理者権限で起動したコマンドプロンプトでwinget installのコマンドラインを実行すること。
wingetを使ってアプリをバージョンアップすることも可能だ。単に「upgrade」サブコマンドを付けて実行すると、wingetでバージョンアップ可能なアプリの一覧を取得できる。
Copyright© Digital Advantage Corp. All Rights Reserved.