💻

wingetが応答しないときの対処方法

2023/10/13に公開

概要

この記事では2023年10月頃に発生した、wingetコマンドを実行しても応答がなくなったときの対処方法を記載しています。

発生した現象

  1. 2023年10月から、wingetコマンドを使用してインストールしていたキッティングが実行できなくなる
  2. Windows11 22H2がプレインストールされた新規端末
  3. winget -v を実行してバージョンを確認すると、 Ver.1.21.XXXX でした。
  4. 具体的には winget search 7zip とすると、プロンプトの文字色が青色に代わり、Windowタイトルはテキストでクルクル回って処理中のような表示をしている
  5. winget search 7zip -s msstrore とソースをMicrosoftストアだけに限定すると、文字色は白色で通常と同じ動作となる
  6. ただし、処理を進めても初期設定中のPCでMicrosoftアカウントの設定が無いため、アカウント情報がないと言われmsstoreのソースからインストールは行えない
  7. この時点でwingetのバージョンが古く、cdnの参照先が無効化されたのが原因のような情報をネットで見つける
  8. winget本体をアップデートしようと試みるが、MicrosoftStoreからのセットアップは、アカウント情報がないため処理できない
  9. githubのwingetからなら、インストールできるかも?と思い、Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundleをダウンロードし、セットアップを試みるがエラーが発生し処理継続できず

解決方法

  1. https://aka.ms/getwinget から、最新のwinget本体をダウンロードする。2023/10/13時点では Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle になる
  2. ダウンロードしたファイルがあるディレクトリを右クリックし、 ターミナルで開く をクリック
  3. その後、 Add-AppxPackage -Path .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle とすることで Microsoftアカウント情報が無くて も最新のwingetコマンドにアップデートが可能
  4. アップデート後に winget search 7zip コマンドを実行すると、msstoreとwingetソースどちらの候補も表示ができることを確認
  5. 「winget -v」 コマンドを実行すると v1.6.2771 であることが確認できた。

要因の推測

  1. 2023年9月の前後で、wingetのver1.2あたりが参照していたwingetのCDNソースが無効化(?)された
  2. ver1.2のwingetコマンドを実行すると、無効化されたソースを参照することで、応答待ち状態となる
  3. Windows Terminalで応答待ちが発生するとコンソールプロンプトが青色になる
  4. wingetソースを winget sourse reset winget と入力して無効化すると応答待ちにはならない。
  5. ただし、Microsoftアカウントの認証情報が登録されていないと、msstoreソースからインストールはできない

Discussion