winget pin gegen ungewollte Updates
- Matt
Nach einem winget upgrade --all hat sich mir mal ein Kommandozeilenwerkzeug unbemerkt auf eine neue Major-Version gezogen, deren Parameter nicht mehr zu meinem Skript passten. Seitdem pinne ich einzelne Pakete gezielt.
winget pin add --id <ID> schließt ein Paket von winget upgrade --all aus, lässt aber winget upgrade <paket> weiterhin zu, falls ich von Hand aktualisieren will. Mit --blocking sperrt winget das Paket komplett, auch die gezielte Aktualisierung greift dann nicht mehr, nur winget pin remove hebt das wieder auf. Dazwischen liegt Gating: winget pin add --id <ID> --version 0.70.* erlaubt nur Updates innerhalb der angegebenen Versionsspanne, der Stern steht für den letzten Versionsteil.
Der Haken: Ein Pin wirkt nur, wenn die Aktualisierung über winget läuft. Zieht sich ein Tool sein Update über einen eigenen Updater, greift die Sperre nicht. Und winget pin list zeigt zwar, was gepinnt ist, aber nicht warum, das trage ich mir seither separat ein.
Quelle: pin command (winget) – Microsoft Learn
Siehe auch: Rechner neu aufsetzen mit winget