winget ツールによる問題のデバッグとトラブルシューティング

Windows パッケージ マネージャーを使用してアプリケーションのインストール、検索、または一覧表示を行うときは、動作をよりよく理解するために、必要に応じてログ ファイルを確認することがあります。

WinGet ログ

Windows パッケージ マネージャーの既定では、コマンドの実行時にログ ファイルが作成されます。 これらのログには、WinGet の問題のデバッグに役立つ情報が含まれています。 ログ ファイルのサイズには上限がありません。 通常、サイズはほんの数 KB です。 ディレクトリ内のログ ファイルの数が 100 を超えると、最も古いログ ファイルの削除が開始されます。 時間ベースのログの削除はなく、これらの設定は構成できません。 100 個のファイルのログ容量に達した場合は、保持する WinGet ログを別のディレクトリに移動するだけで済みます。

コマンド winget --info を使用して、WinGet ログ ファイルへのディレクトリ パスを見つけます。 WinGet ログ ファイルの既定のパスは次のとおりです。

%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

--logs または --open-logs オプションを任意のコマンドに追加して、コマンドの完了後に logs ディレクトリを開くことができます。 --logs オプションの使用例を次に示します。

> winget list --logs
> winget source update --open-logs

--verbose-logs

CDN とソースとの完全な通信が記録された、より包括的なログ ファイルが必要な場合は、コマンド ラインに --verbose または --verbose-logs を追加します。 --verbose-logs オプションの使用例を次に示します。

> winget install vscode --verbose-logs
> winget search -n visual --verbose-logs
> winget source add -n mysource -t Microsoft.REST -a https://www.contoso.org --verbose

既知の問題

ソースと動作に関する既知の問題一覧の最新情報については、Windows パッケージ マネージャー クライアント リポジトリを参照してください。 winget ツールの使用時に問題が発生した場合は、トラブルシューティングについては、こちらを参照してください。

終了コード

winget ツールは、コマンドの成功または失敗を示す終了コードを返します。 Windows パッケージ マネージャー クライアント リポジトリの "リターン コード" ファイルで、終了コードとその意味を示す表を見つけます。

特定のユーザーとマシン全体のスコープ

すべてのインストーラーで、"ユーザー" スコープと "マシン" スコープのインストールが一貫してサポートされているわけではありません。

  • MSIX ベースのパッケージ: 信頼できる WinGet の動作。
  • MSI ベースのパッケージは、通常、信頼性の高い WinGet 構成をサポートしますが、場合によっては、.exe ベースのインストーラー内に入れ子になっているため、バリエーションが増す可能性があります。
  • EXE ベースのインストーラーのスコープに関する動作は、必ずしも決定的であるとは限りません。 スコープを指定する引数が使用できない場合もあれば、ユーザーがローカル管理者グループのメンバーであるかどうかに基づいてインストーラーが決定を行う場合もあります。 ユーザー スコープにインストールされたパッケージでは、引き続き管理者からの UAC (ユーザー アカウント制御) 承認が必要になる場合があります。

スコープ関連の問題のその他の詳細について、GitHub の WinGet 製品リポジトリを参照してください。