米国時間2021年4月22日、「Windows Package Manager(winget)」のバージョン0.3.11102プレビューがリリースされた。言わずと知れたコマンドラインからアプリをインストールするコマンドラインだが、新バージョンでは企業内でwingetの動作を統一管理するグループポリシーや、インポート機能がサポートされた。

  • バージョン0.3に更新されたwinget

合わせて試験段階ながらもエクスポート、アップグレード、アンインストールなどの機能検証も行われている。たとえば、Windows 10のインストール済みアプリを列挙するリスト機能を有効にする場合は、以下の操作を実行すればよい。

  • 「winget features」と入力して「Enter」キーを押すと、実装済みの試験的機能が列挙される

  • 設定を変更するには、「winget settings」と入力して「Enter」キーを押す

  • JSONファイルに関連付けたアプリが起動したら、「"list": true」を追記して同ファイルを保存する。この際、別項目の末尾に「,(カンマ)」を挿入することを忘れずに

  • 「winget list power」と入力して「Enter」キーを押すと、「power」の文字列にマッチするアプリのみ列挙する

今度はエクスポート&インポートの機能の動作を確認してみよう。まずはインストール済みアプリをJSONファイルに出力するエクスポート機能だが、当然ながらwingetのリポジトリーには存在せず、手動インストールしたアプリは対象外となる。先の手順を参考にwingetの設定ファイルに「"export": true」を追記しておこう。

  • 設定ファイル編集後に「winget export -o .\Desktop\output.json」など任意の出力先とファイル名を指定して「Enter」キーを押す

  • こちらは出力したJSONファイル。wingetのリポジトリーにあるアプリにもリストアップされた

後はJSONファイルを別PCでインポートすれば、同一の環境を構築できるはずだが、結果はNGだった。どうも文字コード周りのバグが残っているらしく、うまく動作しなかった。そこで、同一の環境でインポートを実行したところ、いくつかのパッケージが更新された。筆者は未検証だが「upgrade」コマンドと同じ結果を得たこととなる。

  • インポートを実行するには「winget import -i .\Desktop\output.json」など任意の出力先とファイル名を指定して「Enter」キーを押す

公式ブログによれば、ZIP形式やEXE形式、ネイティブなPowerShell(Windows PowerShellではなく現在バージョン7.xのPowerShell)のサポート、特定のアプリ実行に必要なライブラリーを合わせてインストールする依存関係処理の機能実装を予定している。コマンドライン操作に慣れている方は、新規PCのセットアップにwingetを使い始めてもよさそうだ。