今まではWindowsパッケージマネージャーにはchocolateyを使っていたのですが、久々にサイトを覗いたら良く分からないことになっていたので、Microsoft純正のを使ってみました。
インストール方法
記事での名前は「Windows Package Manager 1.0」になっていましたが、現在の名前は「アプリインストーラー」です。
下記のストアからインストール可能…なはずなんですが、私はインストールボタンを押してもダウンロードが始まらなかったため、この方法は諦めました。
www.microsoft.com
別の方法として、「Windows Package Manager 1.0」GitHubリポジトリにあるリリースページから直接インストーラーをダウンロードします。
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
をダウンロードしてダブルクリックで展開すると、Windowsのインストーラー画面が起動しますので画面に従ってインストールすれば完了です(このリリースページは執筆時点の最新の安定版です)
github.com
使い勝手
「アプリと機能」で表示されるアプリをCLI上から操作できるようになるため便利です。
公式アプリなおかげか、chocolatey
と違ってインストールパスが独自のパスを指定しないため、同じアプリを2重にインストールすることが無いのは嬉しいですね。
ブラウザからインストーラーをダウンロードしてインストールしたアプリも、インストールパスが揃っていればこのツールで管理できます。
> winget --help Windows Package Manager v1.1.12653 Copyright (c) Microsoft Corporation. All rights reserved. WinGet コマンド ライン ユーティリティを使用すると、コマンド ラインからアプリケーションやその他のパッケージをインストールできます。 使用状況: winget [<コマンド>] [<オプション>] 使用できるコマンドは次のとおりです: install 指定されたパッケージをインストール show パッケージに関する情報を表示します source パッケージのソースの管理 search アプリの基本情報を見つけて表示 list インストール済みパッケージを表示する upgrade 指定されたパッケージをアップグレードします uninstall 指定されたパッケージをアンインストール hash インストーラー ファイルをハッシュするヘルパー validate マニフェスト ファイルを検証 settings 設定を開くか、管理者設定を設定する features 試験的な機能の状態を表示 export インストールされているパッケージのリストをエクスポート import ファイル中のすべてのパッケージをインストール 特定のコマンドの詳細については、そのコマンドにヘルプ引数を渡します。 [-?] 次のオプションを使用できます。 -v,--version ツールのバージョンを表示 --info ツールの一般情報を表示 詳細については、次を参照してください。 https://aka.ms/winget-command-help
個人的に興味深いのはimport
とexport
コマンドです。
自身の環境に入っているアプリのリストを出力し、他の環境でリストを使ってアプリを入れることができます(nodejsで言うところのpackage.json
とpackage-lock.json
相当ですね)
これにより、Windows環境のセットアップがグッと楽になりそうです。
ただしアプリがパッケージで配布されていない場合はおそらくインストールされないので注意です(古いソフトや有料ソフトは配られてなさそう)
> winget import --help Windows Package Manager v1.1.12653 Copyright (c) Microsoft Corporation. All rights reserved. ファイルに一覧表示されているすべてのパッケージをインストールします。 使用状況: winget import [-i] <import-file> [<オプション>] 次の引数を使用できます。 -i,--import-file インストールするパッケージを記述したファイル 次のオプションを使用できます。 --ignore-unavailable 使用できないパッケージを無視する --ignore-versions --accept-package-agreements パッケージのすべての使用許諾契約に同意する --accept-source-agreements ソース操作中にすべてのソース契約に同意する 詳細については、次を参照してください。 https://aka.ms/winget-command-import
> winget export --help Windows Package Manager v1.1.12653 Copyright (c) Microsoft Corporation. All rights reserved. インストールされているパッケージの一覧をファイルに書き込みます。その後、パッケージを import コマンドを使用してインストールできます 。 使用状況: winget export [-o] <output> [<オプション>] 次の引数を使用できます。 -o,--output 結果が書き込まれるファイル 次のオプションを使用できます。 -s,--source 指定したソースからパッケージをエクスポートする --include-versions 作成されたファイルにパッケージ バージョンを含める --accept-source-agreements ソース操作中にすべてのソース契約に同意する 詳細については、次を参照してください。 https://aka.ms/winget-command-export
バグ?
winget list
で確認したところ、Thunderbirdのバージョンが古いようなので、winget upgrade
でアップグレードしたのですが、なぜかThunderbirdが2つインストールされてしまいました。
おそらく、インストール済のThunderbirdがx64 ja
なのに対し、パッケージマネージャで表示されるものはen-US
ということで別アプリとして扱われたのだと思います。
Thunderbirdの公式サイトから最新のインストーラーをダウンロードしてアップグレードしたら最新のx64 ja
になりました。
> winget list 名前 ID バージョン 利用可能 ソース --------------------------------------------------------------------------------------------------------------------------------- (前略) Mozilla Thunderbird Mozilla.Thunderbird 78.14.0 91.1.2 winget (後略)
> winget show --id Mozilla.Thunderbird 見つかりました Mozilla Thunderbird [Mozilla.Thunderbird] バージョン: 91.1.2 公開元: Mozilla 発行元 URL: https://www.mozilla.org/en-US/ 発行元のサポート URL: https://support.mozilla.org/en-US/ 作成者: Mozilla Foundation モニカー: thunderbird 説明: Thunderbird is a free email application that is easy to set up and customize - and it's loaded with great features! ホーム ページ: https://www.thunderbird.net/en-US/ ライセンス: Mozilla Public License Version 2.0 ライセンス URL: https://www.mozilla.org/en-US/MPL/2.0/ プライバシー URL: https://www.mozilla.org/en-US/privacy/thunderbird/ 著作権 URL: https://www.mozilla.org/en-US/foundation/trademarks/policy/ インストーラー: 種類: Msi ロケール: en-US ダウンロード URL: https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/91.1.2/win64/en-US/Thunderbird%20Setup%2091.1.2.msi SHA256: 27ecf21ff26aff491fdf674f1aa0b27ecb35bec8037918987f79f2f2768ab8f9