既報の通り、今年のBuild 2020はオンライン開催となりつつも、Windows TerminalのGA(一般提供)や、WSL2によるLinux用GUIアプリのサポートを表明するなど話題に事欠かない。Windowsに長けたユーザーにとって最大のトピックといえるのは、「Windows Package Manager」の存在ではないだろうか。簡単にいうと、コマンドラインからアプリのインストールやアンインストールを行うパッケージ管理システムだ。

  • たとえば「7-Zip」をインストールするには、「winget install 7zip」と実行。インストール時はUAC(ユーザーアカウント制御)による権限昇格ダイアログが現れるが、それ以外はサイレント実行となる

真新しいWindowsが目の前にあることを想像してほしい。常用するアプリのセットアッププログラムを実行して、複数のアプリをインストールしていく。Windows 10で使用するアプリの大半はGUIの対話型インストール形式のため、ユーザーはPCの前で操作する必要がある。セットアッププログラムによっては非対話型で実行するサイレントオプションを用意しているが、通常はコマンドラインから指定することになるため、GUI操作の場合は指定するのも面倒だ。

  • すでにメッセージ周りは日本語にローカライズしている。初期バージョンでは、アンインストールコマンドは存在しない

最近はMicrosoft StoreやAdobeインストーラーのように、契約しているアプリのインストールや更新を担う仕組みも用意されてきたが、OSの初期化やクリーンインストールから作業環境の構築を終えるのは、半日仕事(もしくはそれ以上)になることも珍しくない。これがLinuxであれば、「apt install foo bar」と実行すれば、fooやbarといったパッケージを簡単にインストールできる。WindowsとLinuxを併用していると、パッケージ管理システムのないWindowsに野暮ったさを感じてきた。

  • インストールしたパッケージはコントロールパネルや「設定」で管理される

Windows環境でも、開発者であればNuGet、サードパーティー製ならChocolateyScoopといったパッケージ管理システムが存在する。Microsoftも公式ブログで「現在のパッケージ管理システムに満足している場合は、それを使い続けてほしい」と述べている。

だが、筆者がWindows Package Managerに期待しているのは、Microsoft製という安心感だ。パッケージのリポジトリはMicrosoft Azureで管理しており、「winget source update」で更新して最新のパッケージ情報を取得できる。Microsoftは「信頼されるアプリのリポジトリを構築」するために多くの手法を用いて、悪意を持ったアプリが侵入する可能性を極力減らそうとしている。このような姿勢でリポジトリを管理するのであれば、エンドユーザーが気軽に使えるパッケージ管理システムとなり得るだろう。

  • Windows Package Managerのクライアントは、アプリ実行エイリアス「winget.exe」として登録される

ロードマップを見ると、Microsoft Store上のアプリインストールやアンインストール、パッケージのアップデートといった機能実装が予定に並んでいる。また、2021年5月にバージョン1.0のリリースを目指しており、Windows Terminalと同じ進捗で開発を進めていくようだ。

  • アプリ検索時はIDや名前でフィルタリングできる

  • インストール可能なバージョンも確認可能。特定のバージョンを指定する場合は「-v」を使用する

Windows Package Managerは、Windows Insider ProgramもしくはWindows Package Manager Insiders Programに参加し、「アプリインストーラー」をMicrosoft Storeから入手することで使用できる。興味を持たれた読者諸氏は、ワンライナー(1行のコマンド)でアプリをインストールできる利便性を体験してみてほしい。