Windows公式パッケージマネージャーである「Windows Package Manager」こと「Winget」のプレビューv0.3が公開された。Wingetを本連載で扱ったのは、昨年9月の時点で、このときのバージョンは、v0.1.42241だった(「Windows用アプリのインストールがコマンドラインで可能なパッケージマネージャー「winget」はどうなった?」)。
昨年時点でのロードマップでは、2021年5月にv1.0とする予定だが、バージョン番号を見る限り、v0.3.11201の公開が今月12日であり、ロードマップとは大きく乖離した状態だ。
上記の前回記事のあと、2020年9月15日にv0.2となったが、その後の進行が少しゆっくりになり、v0.3に上がったのが今年4月。v0.2にかなり手こずった感じだ。もっとも、これまで放置状態だったWindowsのアプリケーションインストールを管理しようというのだから、簡単に行かないのも理解できる。
Wingetは、LinuxやBSD系のOSで使われているパッケージマネージャーをWindows用に開発したものだ。何をもってパッケージマネージャーと呼ぶのかは明確な定義はないが、筆者は、「パッケージ形式」「パッケージリポジトリ」「パッケージ管理コマンド」の3つがそろったものと考えている。
Linux系では、90年代後半あたりからディストリビューションのメーカーが開発を始め、00年代には大半のLinuxディストリビューションが何らかのパッケージマネージャーを採用していた。今では、パッケージマネージャに何を使うのかという観点でLinuxディストリビューションを分類できるようになったぐらいだ。
しかしWindowsでは、msi形式によるインストールパッケージが強制されてはいるものの、パッケージは単独のアプリケーションに閉じており、依存関係の解決やアンインストールはパッケージの開発者に任されている。また、msi形式のパッケージ作成ソフトウェアが無料ではなかったことから、インストーラーを使わず、ファイルのコピーでインストール、削除でアンインストールというフリーソフトウェアも大量に出回った。
v0.3プレビューの概要
Winget v0.3は、プレビュー版で制限はあるものの、アプリケーションのインストール、アンインストール、アップデート(Upgradeと呼ぶ)が可能なことに加え、現在のインストール状態をファイルにエクスポートし、そのファイルをインポートすることで複数パッケージの連続インストールが可能になっている。
また、wingetでは、パッケージマネージャーでいうリポジトリをSourceと呼ぶが、Microsoftが用意した公式Sourceのほか、MicrosoftストアをSourceに追加することができる(ただし、一部のアプリケーションに制限されている)。
機能的には、前回紹介したv0.1よりはかなり進んでいて、コマンドラインとしては、最低限必要なものが揃った感じがある。
Wingetは、マイクロソフト系のコマンドラインに多い「サブコマンド」を使う形式だ。これは、コマンドラインの第1引数にサブコマンドを置き、その動作などは、オプション文字を使う各種のオプションで指定する。なお、Wingetのオプションは、Linuxなどと同じく「--」とハイフンを2つつなげる「GNUスタイル」(ロングオプションともいう)がメインで、一部のオプションにハイフンと英文字の組み合わせとなる「ショートオプション」が用意されている。
v0.3では、パッケージのinstall、upgrade、uninstallが可能だ。ただし、いくつかのサブコマンドは、現在のところ「実験的実装」となっており、settingsサブコマンドを使って設定JSONファイル(settings.josn)を編集して有効にする必要がある。
具体的には、以下のリストのように設定しておく。ちなみにこの設定は、v0.3ですべての実験的機能を有効にするものだ。ファイルをセーブしたら、「winget features」で実験的コマンドの状態を確認できる。
{
"$schema": "https://aka.ms/winget-settings.schema.json",
// For documentation on these settings, see: https://aka.ms/winget-settings
// "source": {
// "autoUpdateIntervalInMinutes": 5
// },
"visual": {
"progressBar": "accent"
},
"experimentalFeatures": {
"experimentalMSStore": true,
"list": true,
"upgrade": true,
"uninstall": true,
"restSource": true,
"export":true,
"experimentalCmd": true,
"experimentalArg": false
}
}

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ














