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-unknownobejmuje 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ę
--silentoraz akceptowanie umów źródła i pakietu.

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 --allPrzed 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 upgradeJak 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 updatePotem 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 --allPodczas 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.PowerToysIdentyfikator 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-agreementsOpcja --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-unknownRobię 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 --infoNie 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_PAKIETUNie 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 listPeł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:
- Uruchom
winget upgradei przejrzyj listę. - Zamknij programy, które mogą blokować pliki.
- Wykonaj
winget upgrade --all. - Po zakończeniu sprawdź, czy pozostały nieaktualne pakiety.
- 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 --allJeż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.
