WinGet ツールによる問題のデバッグとトラブルシューティング
WinGet が正しくインストールされていないように見える場合は、PowerShell コマンド プロンプトから次の手順に従います。
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest
WinGet コマンドが失敗する場合は、動作を理解するためにログ ファイルを確認する必要がある場合があります。
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 製品リポジトリを参照してください。
403 許可されていませんエラー
WinGet ツールを使用してパッケージをダウンロードしようとすると、403 禁止エラーが発生する可能性があります。 この問題は、独立系ソフトウェア ベンダー (ISV) が WinGet などのパッケージ マネージャー サービスによって製品を配布しないことを選択した場合に発生する可能性があります。
通常、ダウンロードを開始できるサーバーは、デバイスまたはクライアント (ブラウザー、WinGet など) を識別するために、ダウンロード要求に含まれるユーザー エージェント文字列を確認します。 ブラウザーを使用してインストーラーをダウンロードできるが、WinGet で問題が発生した場合は、ISV によって WinGet ユーザー エージェント文字列がブロックされている可能性があります。
WinGet のユーザー エージェント文字列の形式は次のとおりです。
winget-cli WindowsPackageManager/{Client Version} DesktopAppInstaller/Microsoft.DesktopAppInstaller {AppInstaller Version}
例:
winget-cli WindowsPackageManager/1.9.25200 DesktopAppInstaller/Microsoft.DesktopAppInstaller v1.24.25200.0
Windows developer