💻
wingetが応答しないときの対処方法
概要
この記事では2023年10月頃に発生した、wingetコマンドを実行しても応答がなくなったときの対処方法を記載しています。
発生した現象
- 2023年10月から、wingetコマンドを使用してインストールしていたキッティングが実行できなくなる
- Windows11 22H2がプレインストールされた新規端末
- winget -v を実行してバージョンを確認すると、 Ver.1.21.XXXX でした。
- 具体的には winget search 7zip とすると、プロンプトの文字色が青色に代わり、Windowタイトルはテキストでクルクル回って処理中のような表示をしている
- winget search 7zip -s msstrore とソースをMicrosoftストアだけに限定すると、文字色は白色で通常と同じ動作となる
- ただし、処理を進めても初期設定中のPCでMicrosoftアカウントの設定が無いため、アカウント情報がないと言われmsstoreのソースからインストールは行えない
- この時点でwingetのバージョンが古く、cdnの参照先が無効化されたのが原因のような情報をネットで見つける
- winget本体をアップデートしようと試みるが、MicrosoftStoreからのセットアップは、アカウント情報がないため処理できない
- githubのwingetからなら、インストールできるかも?と思い、Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundleをダウンロードし、セットアップを試みるがエラーが発生し処理継続できず
解決方法
- https://aka.ms/getwinget から、最新のwinget本体をダウンロードする。2023/10/13時点では Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle になる
- ダウンロードしたファイルがあるディレクトリを右クリックし、 ターミナルで開く をクリック
- その後、 Add-AppxPackage -Path .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle とすることで Microsoftアカウント情報が無くて も最新のwingetコマンドにアップデートが可能
- アップデート後に winget search 7zip コマンドを実行すると、msstoreとwingetソースどちらの候補も表示ができることを確認
- 「winget -v」 コマンドを実行すると v1.6.2771 であることが確認できた。
要因の推測
- 2023年9月の前後で、wingetのver1.2あたりが参照していたwingetのCDNソースが無効化(?)された
- ver1.2のwingetコマンドを実行すると、無効化されたソースを参照することで、応答待ち状態となる
- Windows Terminalで応答待ちが発生するとコンソールプロンプトが青色になる
- wingetソースを winget source reset winget と入力して無効化すると応答待ちにはならない。
- ただし、Microsoftアカウントの認証情報が登録されていないと、msstoreソースからインストールはできない
追記
2024.10.15頃に同様の事象が再発しました。その際、いろいろ触っていましたが3時間程度経過した後に再試行したら正常に動作するようになっていました。推測ですが毎年10月はcdnの更新などがあるのかもしれませんので、この時期のトラブルは半日程度様子を見てから設定を見直すと良いかもしれません。
Discussion