Winget――Windowsパッケージマネージャーがすべてを叶える
パッケージ管理という概念――ユーザーが必要なアプリケーションを一元的な場所からまとめて入手できる仕組み――は、決して目新しいものではありません。モバイルOSに始まったわけでもなく、Linuxでは長年にわたって存在し、やがてアプリストアへと進化しました。AppleにはApp Storeがあり、GoogleにはGoogle Playがあります。そしてMicrosoftには……まあ、あるにはあるのです。
しかし残念ながら、それはWindowsの主要なユーザー層である無数のデスクトップユーザーには向けられたものではありませんでした。筆者はWindows Phoneの大ファンで、今でもLumia 520からLumia 950まで何台かを誇りを持って所有していますが、すべてを焼き払った最後の一撃となったのは、Microsoft Storeに人気アプリが揃っていなかったことでした。さらに、Windowsユーザーがソフトウェアをあちこちのサイトから個別にバラバラと入手するという現状も相まって、この不毛の地ではほとんど普及しませんでした。Windows Package Managerは、この状況を正すための大胆な試みなのです。

Winget――その名の通り「ゲット」できるのか?
Microsoftは標準的なデスクトップ向けソフトウェアをストアで本格的に提供してきませんでした。しかし長年、Linuxのようなパッケージ管理機能をWindowsデスクトップで実現しようとするサードパーティ製ソリューションはいくつも登場してきました。Chocolateyはその好例で、筆者も5年ほど前にテストしています。もしMicrosoft公式のツールがあって、必要なデスクトップアプリを一括で入手でき、さらにはインストールやセットアップを自動化できるとしたら? それはクールだと思いませんか。実は、今それが存在するのです。
Windows Package Managerとそのコマンドラインインターフェース「winget」について読み、筆者はさっそくインストールして試してみることにしました。うまく動けば、インストール後のカスタマイズが容易になるだけでなく、ソフトウェアを常に最新の状態に保つこと(Windowsユーザーはあまり意識して行わない作業です)が可能になり、さらに玄人志向の読者にとってはスクリプト化も簡単なので、システム再構築時のセットアップを完全にハンズフリーで高速に完了させられる可能性まで広がります。
セットアップ
デスクトップアプリのインストーラーパッケージをダウンロードして実行しました。正直なところ、あまり直感的とは言えません。きちんとしたインストールウィザードの方が親切でしょうが、早期プレビュー段階としては許容範囲です。wingetをインストールしたら、コマンドプロンプトまたはPowerShellウィンドウを開けば、すぐに使い始められます。


コマンドはかなり直感的で、Linuxに触れた経験のある技術者なら見覚えがあるはずです。「winget search "パッケージ名"」でアプリを検索し、「winget install "パッケージ名"」でインストールします。非常にシンプルです。

検索とインストール
そこで基本的な検索をいくつか試してみました。場合によっては、複数のエントリーやバージョンがヒットすることがあります。ここで最初のつまずきに遭遇しました。複数のアプリが該当した場合はどうなるのでしょうか。

次のようなメッセージが表示されます。
Multiple apps found matching input criteria. Please refine the input.
(入力条件に一致する複数のアプリが見つかりました。入力を絞り込んでください)
これは-e(exact)フラグをinstallオプションと併用すれば解決できますし、希望するバージョンを明示的に指定することも可能ですが、その方法はあまり分かりやすく文書化されていません。今後のアップデートで改善されていくと思われます。例えばGIMPをインストールする場合は次のようになります。
winget install -e GIMP.GIMP


インストール中にウィザードは表示されず、カスタマイズオプションもありませんでした。これも今後対応が求められる点かもしれません。ユーザーがデフォルト以外の設定を選びたいケースは少なくないからです。一方で評価できるのは、インストーラーが各アプリの公式サイトからダウンロードされ、ファイルのハッシュ値が検証される仕組みになっていることです。これですべてが完璧になるとは言えませんが、パッケージマネージャー(あるいはストア)に期待される信頼性と整合性を担保するうえで、良い第一歩と言えるでしょう。
順調に進むか?
さらにいくつかのアプリを試してみると、小さな問題にも遭遇しました。例えばSteamです。wingetで入手できるのはスタブ(起動ランチャー)のみで、初回起動時に約200MB分の実際のSteamデータを別途ダウンロードします。つまり、一部のアプリは完全な自動セットアップができず、インストール後に何らかの手作業が残る可能性があるということです。


次にVLCを試し、PCをつけっぱなしにして席を離れました。戻ってくると、インストールは失敗していました。原因を調べてみると、UAC(ユーザーアカウント制御)によるインストール確認のポップアップに応答していなかったことが判明。コマンドラインから標準ユーザーとして実行していたため確認画面が表示されたのだと思いますが、それ自体はむしろ自然な挙動です。ただし、完全な無人セットアップを目指す場合、特にデフォルト以外のオプションを含めたい場合は、この点を考慮しておく必要があります。また、EULA(使用許諾契約書)も表示されないため、これも暗黙の前提となる要素です。
...
Successfully verified installer hash
Installing ...
Installer failed with exit code: 1223
とはいえ、そうこうしているうちに、あっという間にたくさんのツール(007風のガジェットではなく)が揃いました。

まとめ
wingetでの短いテストは、総じてかなり満足のいく結果でした。ツールは非常に素直で扱いやすい仕上がりです。パフォーマンスも妥当で、ダウンロード速度は回線環境次第ですが、実際のインストールには時間がかかることがあり、進行状況を示す手がかりがないため、体感時間は実際より長く感じられるかもしれません。とはいえ、うっかり応答し忘れたUACプロンプトと、特定アプリのバージョン指定まわりの曖昧さを除けば、wingetは安定して動作しました。奇妙なバグやエラーなどは一切発生していません。
最終的には有望なツールになると筆者は考えています。今後どのような形で展開されるかは未知数ですが、Win32の膨大なソフトウェア資産をフルカバーすることで、wingetはMicrosoft Storeが成功できなかった領域で勝機をつかめる立場にあります。これこそが、Windowsユーザーにパッケージマネージャーを実際に使う動機を与える存在になるかもしれません。アカウント機能が実装されれば(バックアップや復元といった機能も期待できます)、モバイルOSであれゲームプラットフォームであれ、ストアフロントで得られるのと同じ体験が手に入るでしょう。全体として、wingetは楽しい発見でした。一般ユーザーに広く届くまでにはまだやるべきことが残されていますが、これこそが待ち望まれていたものだと感じます。デスクトップユーザーが本当に欲しいパッケージマネージャー――続きにご期待ください。
それでは、また。
-
Windowsユーザーデータのバックアップ入門 - 手軽にできる暗号化バックアップ作成ガイド
数ヶ月前、Linuxのホームディレクトリをバックアップする方法についての記事を公開しました。データやアプリケーション設定、さらには暗号化まで網羅した内容で、どのLinuxシステムにも搭載されているシンプルなツールだけで実現できるため、いつでもどこでも活用できるものでした。その後、読者の皆さんから「Windows版のチュートリアルも欲しい」というメールやご提案を多数いただきました。当初はコマンドライン中心のガイドとして、Windowsシェルスクリプトを使った内容を考えていましたが、もっとシンプルな形にすることにしました。大多数の方はGUIでWindowsを操作しているため、今回は画面ベースで分か
-
Ultimate Windows Tweaker 徹底レビュー ―― 手に負えないWindows 10を飼いならす200超の設定ツール
大げさな名前は、大げさな期待を呼び起こすものです。Ultimate Windows Tweaker(UWT)は、The Windows Clubの熱心でオタク気質なメンバーによって開発されたツールで、200を超えるオプションと設定を使ってWindows 10を手懐け、細かく調整できるように設計されています。 なぜこのツールが必要なのでしょうか?それは、Windows 10が行儀の悪いOSだからです。広告、テレメトリ、その他の低知能的な機能に関しては、歴代のどのバージョンよりも攻撃的になっています。だからこそ、何らかの「抑え込み」が必要になるのです。以前、プライバシー保護ツール「W10Priva