WinGet aracıyla ilgili hata ayıklama ve sorunları giderme

WinGet doğru yüklenmemiş gibi görünüyorsa, PowerShell komut isteminden şu adımları izleyin:

Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest

WinGet komutları başarısız olduğunda, bazen davranışı daha iyi anlamak için günlük dosyalarına bakmak gerekir.

WinGet Günlükleri

Windows Paket Yöneticisi, komutları yürütürken varsayılan olarak günlük dosyaları oluşturur. Bu günlükler WinGet ile ilgili hata ayıklama sorunlarına yardımcı olabilecek bilgiler içerir. Günlük dosyası temizleme davranışı, ayarlar dosyanızdaki günlük ayarları aracılığıyla yapılandırılabilir. Varsayılan olarak, 7 günden eski veya toplam 128 MB'ı aşan günlük dosyaları otomatik olarak kaldırılır ve tek tek günlük dosyaları 16 MB'a kaydırılır. logging.file Bu sınırları ayarlamak için ayarları kullanın.

WinGet günlük dosyalarınızın dizin yolunu bulmak için komutunu winget --info kullanın. WinGet günlük dosyalarının varsayılan yolu:

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

Komut tamamlandıktan sonra logs dizinini açmak için herhangi bir komuta --logs veya --open-logs seçeneğini ekleyebilirsiniz. --logs seçeneğini kullanmanın bazı örnekleri aşağıda verilmiştir:

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

--ayrıntılı-günlükler

CDN'ler ve kaynaklarla tam iletişimi sağlayan daha kapsamlı günlük dosyalarına ihtiyacınız varsa, komut satırına --verbose veya --verbose-logs da ekleyin. --verbose-logs seçeneğini kullanmanın bazı örnekleri aşağıda verilmiştir:

> 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

Ayarlar

WinGet'in kullanması için varsayılan günlük düzeyini WinGet Ayarları dosyanızda belirtebilirsiniz. Ayarlar komutu, settings.json dosyasını varsayılan JSON düzenleyicinizde açar.

Bir detaylı günlük kaydı örneği:

{
    "$schema": "https://aka.ms/winget-settings.schema.json",
    "logging": {
        "level": "verbose"
    }
}

Bilinen sorunlar

Kaynaklar ve davranışlarla ilgili bilinen sorunların listesi Windows Paket Yöneticisi İstemci deposunda güncel tutulur. WinGet aracını kullanırken sorunlarla karşılaşırsanız sorun giderme için buraya gidin.

Çıkış kodları

WinGet aracı, komutun başarılı veya başarısız olduğunu göstermek için çıkış kodlarını döndürür. Windows Paket Yöneticisi İstemci deposunun "Dönüş kodları" dosyasında çıkış kodları ve anlamlarından oluşan bir tablo bulun.

WinGet hata komutu "Çıkış kodları" hatalarını kabul eder ve WinGet, MSIX ve MSI yükleyicileri için bilinen hata kodları için bir açıklama görüntüler. .exetabanlı yükleyicilerin çoğunda standart olmayan hata kodları vardır ve görüntülenmeyebilir.

> winget error 1603

Belirli bir kullanıcı veya makine genelinde kapsam

Tüm yükleyiciler "kullanıcı" kapsamına ve "makine" kapsamına tutarlı bir şekilde yüklemeyi desteklemez.

  • MSIX tabanlı paketler: Güvenilir WinGet davranışı.
  • MSI tabanlı paketler genellikle güvenilir WinGet yapılandırmalarını destekler, ancak bazı durumlarda .exetabanlı bir yükleyici içinde iç içe yerleştirilmiştir, bu nedenle daha fazla değişkenlik olabilir.
  • EXE tabanlı yükleyicilerin kapsam etrafındaki davranışı belirlenebilir olmayabilir. Bazı durumlarda kapsamı belirtmek için bağımsız değişkenler kullanılamaz ve diğer durumlarda yükleyici, kullanıcının yerel yöneticiler grubunun üyesi olup olmadığına bağlı olarak belirlemeyi yapabilir. Kullanıcı kapsamında yüklenen paketler yine de yöneticiden UAC (Kullanıcı Hesabı Denetimi) yetkilendirmesi gerektirebilir.

kapsamında ile ilgili sorunlar hakkında daha fazla ayrıntıya GitHub'daki WinGet ürün deposundan bakın.

403 Yasak hatası

WinGet aracını kullanarak bir paketi indirmeye çalışırken 403 Yasak hatası oluşabilir. Bağımsız Yazılım Satıcısı (ISV) ürününün WinGet gibi bir paket yöneticisi hizmeti tarafından dağıtılmaması durumunda bu sorun ortaya çıkabilir.

İndirmeyi başlatmakla sorumlu sunucu genellikle cihazı veya istemciyi (tarayıcı, WinGet gibi) tanımlamak için indirme isteğine dahil olan bir kullanıcı aracısı dizesini denetler. Yükleyiciyi tarayıcınızı kullanarak indirebilir, ancak WinGet ile ilgili sorunlarla karşılaşırsanız, ISV WinGet kullanıcı aracısı dizesini engellemiş olabilir.

WinGet için kullanıcı aracısı dizesi aşağıdaki biçime sahiptir:

winget-cli WindowsPackageManager/{Client Version} DesktopAppInstaller/Microsoft.DesktopAppInstaller {AppInstaller Version}

Örnek:

winget-cli WindowsPackageManager/1.9.25200 DesktopAppInstaller/Microsoft.DesktopAppInstaller v1.24.25200.0

Sistem Bağlamı

WinGet, Uygulama Yükleyicisi aracılığıyla paketlenmiş bir uygulama olarak teslim edilir. MSIX (paketlenmiş) uygulamaları, PATH ortam değişkeninde çözülmesi gereken bir Uygulama Çalıştırma Takma Adına bağlıdır. WinGet CLI sistem bağlamında desteklenmez. Microsoft.WinGet.Client PowerShell modülü, makine genelinde yüklü uygulamalarla sistem bağlamında kullanılabilir.