winget upgrade --all - jak bezpiecznie aktualizować aplikacje

Bruno Krawczyk 24 maja 2026
Logo winget i polecenie "winget upgrade all" pokazujące możliwości zarządzania pakietami w systemie Windows.

Spis treści

Jedno polecenie

w terminalu może sprawdzić dziesiątki programów i rozpocząć ich aktualizację bez odwiedzania stron producentów. Pokażę, jak działa winget upgrade --all, kiedy użyć dodatkowych przełączników, dlaczego niektóre aplikacje zostają pominięte oraz jak bezpiecznie korzystać z tego rozwiązania na komputerze deweloperskim z Windows.

Jedno polecenie pozwala szybko odświeżyć większość obsługiwanych aplikacji

  • Podstawowa komenda to winget upgrade --all.
  • Najpierw sprawdź listę aktualizacji, uruchamiając samo winget upgrade.
  • Opcja --include-unknown obejmuje programy, których wersji WinGet nie potrafi rozpoznać.
  • Nie wszystkie aplikacje zostaną zaktualizowane, jeśli nie mają zgodnego pakietu w źródle WinGet.
  • Dla automatyzacji przydają się --silent oraz akceptowanie umów źródła i pakietu.

Wpisano

Co dokładnie robi polecenie winget upgrade --all

WinGet to wbudowany w nowoczesne wydania Windows menedżer pakietów. Pozwala wyszukiwać, instalować, usuwać i aktualizować aplikacje z poziomu PowerShella albo Windows Terminala. W praktyce działa podobnie do menedżerów pakietów znanych z systemów Linux, choć korzysta z własnego katalogu pakietów i instalatorów przygotowanych dla Windows.

Parametr upgrade wyszukuje dostępne aktualizacje, a --all nakazuje zastosować je do wszystkich wykrytych aplikacji. Nie oznacza to jednak absolutnie każdego programu znajdującego się na dysku. WinGet aktualizuje tylko te pakiety, dla których potrafi znaleźć pasującą aplikację i nowszą wersję.

winget upgrade --all

Przed wykonaniem zmian uruchamiam zwykle samo polecenie winget upgrade. Dostaję wtedy listę nazw, identyfikatorów, obecnych wersji i dostępnych aktualizacji. Ten krok zajmuje chwilę, ale pozwala wychwycić program, którego nie chcę jeszcze aktualizować, na przykład ze względu na zgodność z konkretnym środowiskiem .NET.

winget upgrade

Jak bezpiecznie zaktualizować aplikacje krok po kroku

Najwygodniej otworzyć Windows Terminal albo PowerShell. Wyszukaj aplikację w menu Start, kliknij ją prawym przyciskiem i wybierz uruchomienie jako administrator. Podwyższone uprawnienia nie zawsze są wymagane, ale część instalatorów ich potrzebuje, dlatego tryb administratora ogranicza liczbę przerw w trakcie procesu.

Najpierw warto odświeżyć informacje o dostępnych źródłach, szczególnie gdy lista aktualizacji wygląda na niepełną albo pojawia się błąd związany z repozytorium.

winget source update

Potem sprawdź dostępne aktualizacje i dopiero uruchom instalację. Przy pierwszym użyciu WinGet może poprosić o zaakceptowanie warunków źródła lub pakietu. To normalne zachowanie, a komunikat nie oznacza awarii narzędzia.

winget upgrade
winget upgrade --all

Podczas aktualizacji nie zamykaj terminala i nie uruchamiaj ponownie komputera, dopóki proces nie zostanie zakończony. Niektóre instalatory wyświetlają własne okna, wymagają zamknięcia programu albo proszą o zgodę UAC. W mojej praktyce największą różnicę robi wcześniejsze zamknięcie edytora kodu, przeglądarki i narzędzi deweloperskich, ponieważ aktualizowane pliki mogą być zablokowane przez działające procesy.

Aktualizacja tylko wybranego programu

Nie zawsze chcemy aktualizować cały zestaw aplikacji. Konkretny pakiet można wskazać po identyfikatorze, co jest bezpieczniejsze niż poleganie na podobnej nazwie.

winget upgrade --id Microsoft.PowerToys

Identyfikator sprawdzisz za pomocą wyszukiwania albo listy z aktualizacjami. Przełącznik --id ogranicza działanie do konkretnego pakietu, a opcja --exact wymusza dokładne dopasowanie zapytania. To przydatne, gdy w katalogu znajduje się kilka aplikacji o podobnych nazwach.

Przełączniki, które przydają się w codziennej pracy

Podstawowa komenda wystarcza do ręcznego użycia, ale kilka opcji znacznie poprawia wygodę. Dobieram je zależnie od tego, czy aktualizuję własny komputer, przygotowuję skrypt, czy wykonuję powtarzalną operację na wielu stanowiskach.

Przełącznik Zastosowanie
--silent Ogranicza interakcję użytkownika i ukrywa większość okien instalatorów.
--accept-source-agreements Automatycznie akceptuje umowy dotyczące źródeł.
--accept-package-agreements Akceptuje umowy licencyjne pakietów podczas instalacji.
--include-unknown Próbuje aktualizować aplikacje, których obecnej wersji WinGet nie potrafi rozpoznać.
--source winget Ogranicza wyszukiwanie do wskazanego źródła.

Do ręcznej aktualizacji użyłbym po prostu krótkiej komendy. W skrypcie można zastosować wariant z wyciszeniem i akceptacją umów:

winget upgrade --all --silent --accept-source-agreements --accept-package-agreements

Opcja --silent nie gwarantuje, że każdy instalator zachowa się całkowicie bezobsługowo. Część producentów stosuje własne mechanizmy aktualizacji, które ignorują standardowe parametry. Dlatego skrypt warto testować na jednej maszynie, zanim trafi do zadań Harmonogramu zadań, Intune albo firmowego procesu wdrożeniowego.

Dlaczego nie każda aplikacja zostanie zaktualizowana

Najczęstsze nieporozumienie polega na traktowaniu --all jak polecenia aktualizującego absolutnie wszystko, co jest zainstalowane w Windows. WinGet musi najpierw rozpoznać aplikację, porównać wersję i znaleźć odpowiedni manifest, czyli opis pakietu zawierający między innymi identyfikator, wersję oraz sposób instalacji.

Program może zostać pominięty z kilku powodów:

  • nie ma go w skonfigurowanym źródle WinGet,
  • producent nie udostępnił aktualizatora zgodnego z mechanizmem WinGet,
  • zainstalowana wersja jest oznaczona jako Unknown,
  • aplikacja jest uruchomiona i jej pliki są zablokowane,
  • instalator wymaga dodatkowych decyzji użytkownika,
  • nowsza wersja ma ograniczenia dotyczące architektury lub systemu.

W przypadku nieznanej wersji można spróbować:

winget upgrade --all --include-unknown

Robię to ostrożnie, ponieważ WinGet nie ma wtedy pełnej informacji o stanie aplikacji. Taka aktualizacja może być przydatna na komputerze testowym, ale na maszynie produkcyjnej lepiej najpierw przejrzeć listę i aktualizować podejrzane pozycje pojedynczo.

Nie należy też mylić aktualizacji aplikacji z aktualizacją systemu Windows, sterowników i firmware. WinGet zarządza pakietami aplikacji, natomiast Windows Update pozostaje właściwym narzędziem do poprawek systemowych. Microsoft Store również może obsługiwać własny cykl aktualizacji, niezależny od tego, co pokaże terminal.

Typowe błędy i praktyczny sposób ich rozwiązania

WinGet nie jest rozpoznawany

Komunikat o nierozpoznanym poleceniu zwykle oznacza brak albo niepełną instalację pakietu App Installer. Sprawdź, czy system spełnia wymagania dla WinGet i czy aplikacja App Installer jest obecna. Na świeżo utworzonym koncie narzędzie może potrzebować chwili, aby zarejestrować się w systemie.

Warto też sprawdzić informacje o wersji:

winget --info

Nie można zaakceptować umowy

Jeżeli instalacja zatrzymuje się na pytaniu o warunki, uruchom komendę ponownie i dodaj odpowiedni przełącznik. W pracy interaktywnej wolę zaakceptować umowę ręcznie, natomiast w kontrolowanym skrypcie używam --accept-source-agreements oraz --accept-package-agreements.

Przeczytaj również: DataGrid w WPF krok po kroku - binding, edycja i wydajność

Aktualizacja zatrzymuje się na konkretnej aplikacji

Najpierw zamknij daną aplikację i spróbuj ponownie. Jeśli problem wraca, wykonaj aktualizację po identyfikatorze, aby zobaczyć dokładniejszy komunikat. Czasami instalator wymaga restartu, wcześniejszego odinstalowania wersji albo uruchomienia bez trybu cichego.

winget upgrade --id IDENTYFIKATOR_PAKIETU

Nie ignorowałbym kodów błędów, nawet jeśli pozostałe programy zaktualizowały się poprawnie. W środowisku deweloperskim stara wersja SDK, runtime’u albo narzędzia CLI może powodować problemy trudne do powiązania z samą aktualizacją aplikacji.

Jak korzystać z WinGet na komputerze deweloperskim

Na komputerze używanym do pracy z .NET, Azure czy narzędziami AI aktualizacje warto wykonywać regularnie, ale nie bezrefleksyjnie. Przed większą aktualizacją zapisuję listę pakietów i sprawdzam, czy projekt nie zależy od konkretnej wersji Node.js, Pythona, JDK albo narzędzia wiersza poleceń.

winget list

Pełna aktualizacja raz na kilka tygodni jest wygodna, lecz w projektach produkcyjnych lepiej kontrolować wersje w plikach konfiguracyjnych i pipeline’ach. Samo WinGet nie zastępuje lockfile’ów, kontenerów ani deklaratywnej konfiguracji środowiska. Jest świetnym narzędziem do utrzymania stacji roboczej, ale nie powinien być jedynym mechanizmem zarządzania zależnościami aplikacji.

Dobry, praktyczny schemat wygląda tak:

  1. Uruchom winget upgrade i przejrzyj listę.
  2. Zamknij programy, które mogą blokować pliki.
  3. Wykonaj winget upgrade --all.
  4. Po zakończeniu sprawdź, czy pozostały nieaktualne pakiety.
  5. Uruchom narzędzia deweloperskie i krótki test projektu.

Takie podejście zajmuje niewiele czasu, a zmniejsza ryzyko, że aktualizacja narzędzia wpłynie na działający projekt bez żadnej kontroli. Samą komendę traktuję jako wygodny automat do codziennej higieny systemu, nie jako gwarancję idealnie powtarzalnego środowiska.

Najlepszy rytm aktualizacji zależy od roli komputera

Na prywatnym komputerze można uruchamiać aktualizację ręcznie raz na tydzień lub miesiąc. Na maszynie deweloperskiej lepiej połączyć ją z krótką kontrolą wersji i testem projektu, a na komputerach firmowych stosować zatwierdzony proces wdrażania oraz logowanie wyników.

Najważniejsze polecenie pozostaje proste:

winget upgrade --all

Jeżeli lista nie obejmuje wszystkich programów, nie musi oznaczać to błędu. WinGet aktualizuje aplikacje, które potrafi rozpoznać i dla których ma dostępny, zgodny pakiet. Świadome użycie opcji dodatkowych, kontrola wyjątków i krótki test po aktualizacji dają znacznie lepszy efekt niż bezwarunkowe uruchamianie automatu na każdej maszynie.

FAQ - Najczęstsze pytania

Polecenie wyszukuje i aktualizuje wszystkie rozpoznane aplikacje, dla których WinGet ma zgodny pakiet i nowszą wersję. Nie obejmuje programów spoza skonfigurowanego źródła, aplikacji bez odpowiedniego manifestu ani aktualizacji systemu Windows, sterowników i firmware.

Użyj jej, gdy WinGet wykrywa aplikacje, ale nie potrafi rozpoznać ich obecnej wersji: winget upgrade --all --include-unknown. Na komputerze produkcyjnym lepiej najpierw przejrzeć listę i aktualizować takie programy pojedynczo, ponieważ narzędzie ma wtedy mniej informacji o ich stanie.

Najpierw uruchom winget source update, a następnie winget upgrade, aby przejrzeć dostępne pakiety. Zamknij programy mogące blokować pliki, wykonaj winget upgrade --all, po zakończeniu sprawdź pozostałe aktualizacje i uruchom krótki test projektu. Warto wcześniej upewnić się, że projekty nie zależą od konkretnej wersji Node.js, Pythona, JDK lub narzędzia CLI.

Do automatyzacji można połączyć --silent, --accept-source-agreements i --accept-package-agreements. Przykładowo: winget upgrade --all --silent --accept-source-agreements --accept-package-agreements. Nie każdy instalator działa jednak całkowicie bezobsługowo, dlatego skrypt należy najpierw przetestować na jednej maszynie.

Oceń artykuł

Ocena: 0.00 Liczba głosów: 0

Tagi

winget
powershell
windows terminal
app installer
automatyzacja
Autor Bruno Krawczyk
Bruno Krawczyk
Mam na imię Bruno i od 8 lat zgłębiam tajniki programowania w ekosystemie .NET, chmury Azure oraz sztucznej inteligencji. Moja przygoda z technologią zaczęła się od ciekawości, jak złożone systemy mogą ułatwiać codzienne życie i rozwiązywać realne problemy. Dziś moją misją jest dzielenie się tą wiedzą, starając się przybliżyć nawet najbardziej skomplikowane zagadnienia w sposób zrozumiały i przystępny dla każdego. W moich artykułach na kursdotnet.pl skupiam się na praktycznych aspektach, analizuję najnowsze trendy i weryfikuję informacje, aby dostarczyć Wam treści, które są nie tylko dokładne i aktualne, ale przede wszystkim użyteczne w Waszej własnej ścieżce rozwoju technologicznego.

Udostępnij artykuł

Napisz komentarz