昨日記事に書いたMicrosoft公式のWindowsパッケージマネージャー「アプリインストーラー」について、再び面白い動きを発見したのでメモ
> winget list --id BraveSoftware.BraveBrowser 名前 ID バージョン 利用可能 ソース ------------------------------------------------------------- Brave BraveSoftware.BraveBrowser 0.22.721 94.1.30.87 winget
Webブラウザの「Brave」アプリを更新しようとした時です。
winget list
コマンドで確認すると、現在インストールされているバージョンが0.22.721で、94.1.30.87へアップグレードできるかのように表示されています。
> winget upgrade BraveSoftware.BraveBrowser 見つかりました Brave [BraveSoftware.BraveBrowser] バージョン 94.1.30.87 このアプリケーションは所有者からライセンス供与されます。 Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。 Downloading https://github.com/brave/brave-browser/releases/download/v1.30.87/BraveBrowserStandaloneSilentSetup.exe ██████████████████████████████ 84.2 MB / 84.2 MB インストーラーハッシュが正常に検証されました パッケージのインストールを開始しています... インストールが完了しました
winget upgrade
を実行すると、特にエラーも無くアップグレードが完了したように表示されます。
> winget list --id BraveSoftware.BraveBrowser 名前 ID バージョン 利用可能 ソース ------------------------------------------------------------- Brave BraveSoftware.BraveBrowser 0.22.721 94.1.30.87 winget
しかし、再びwinget list
で調べると、アップグレード前と結果が変わっていないことが分かりません。
> winget list --id brave 名前 ID バージョン -------------------------------------------- Brave brave 0.22.721 Brave BraveSoftware Brave-Browser 94.1.30.87
winget list
の検索条件をパッケージ名完全一致から部分一致に緩めてみると、「Brave」アプリが2つインストールされているのが確認できます。
実際、新しい方も古い方もアプリを起動できます。
winget upgrade
を実行しただけなのに新しいアプリがインストールされるのはちょっと怖いですね。
ただし、インストール前にWindowsインストーラーが起動するのでインストーラーをキャンセルすれば防げると思います。
> winget uninstall --id brave 見つかりました Brave [brave] パッケージのアンインストールを開始しています... 正常にアンインストールされました
アンインストール時はwinget uninstall --id brave
だけで1つに特定できるようで、コマンドごとにオプションの振る舞いが違うような気がします。