Software-update: Windows Package Manager 1.1

Windows Package Manager logo (79 pix)Microsoft heeft een nieuwe versie van zijn Windows Package Manager uitgebracht. Met dit pakket kan vanaf een commandline via het commando winget software op de computer worden geïnstalleerd. Op dit moment is er ondersteuning voor zo'n 2600 programma's en zoeken kan op deze pagina worden gedaan. In versie 1.1 van Windows Package Manager heeft Microsoft diverse problemen verholpen en ondersteuning toegevoegd voor het installeren van programma's uit de Windows Store.

Windows Package Manager 1.1

I’m excited to share some great news. We’re releasing Windows Package Manager 1.1. We’ve squashed some annoying bugs and added some highly anticipated features. The Windows Package Manager is being released to Windows 10 (build 1809 and newer) and Windows 11 as an automatic update via the Microsoft Store. The moment we’ve been waiting for has finally arrived. Grab yourself a cup of coffee (or any other favorite beverage). Don’t worry; I’ll wait. Cheers!

Client

The team has been busy over the last few months making improvements and adding new features. The most notable new feature is access to apps in the Microsoft Store. The client now ships with two sources configured. One of them is the Windows Package Manager app repository, and the other is the Microsoft Store.

All Windows Package Manager commands and features have been documented at Microsoft Docs. I also covered most of the basics in the Windows Package Manager 1.0 announcement.

Windows Package Manager

Versienummer 1.1
Releasestatus Final
Besturingssystemen Windows 10, Windows 11
Website Microsoft
Download https://devblogs.microsoft.com/commandline/windows-package-manager-1-1/
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

08-10-2021 • 11:39

72

Submitter: jj71

Bron: Microsoft

Update-historie

Reacties (72)

72
72
50
9
0
11
Wijzig sortering
Ik moet eerlijk toegeven dat ik deze nog niet kende. aptget voor Windows... hoe cool :-)

Direct even gekeken en staan zaken in als Visual Studio Code, Notepad++, Atom en zelfs defraggler, auslogics disk defrag, XAMPP (en anderen), CCleaner, FastCopy, TeraCopy, Steam, etc...
Super om na een reinstall gewoon gescript jouw eigen apps te installeren en dan nog wel snel via de vertrouwde command line.
Inderdaad een mooie tool, helaas wel met een naar smaakje.
Het klopt dat het wat 'vreemd' is gegaan, maar al bij al valt het nog mee.

1. appget is open-source; winget is ook open-source.
Leren en bouwen op elkaars code is nu eenmaal wat open source is. Kijk bvb naar OpenOffice of LibreOffice. Hij staat ook als enige in de Credits met z'n naam en appget.

2. Microsoft heeft duidelijk aangegeven dat ze onder de indruk waren van het project en boden hem zelfs een permanente job aan binnen de firma om hier verder aan te werken.

2b. Hij wou reisvergoeding voor z"n jobinterview en ze gingen dit navragen. Zonde dat hij niets meer terug gehoord heeft, maar hij heeft het vervolgens ook 6 maanden laten liggen en niets van zich laten horen. Hij wist dat er een afdeling ging zijn om dit te ontwikkelen, dit had niets te maken met of hij er wel of niet bij ging horen.

[Reactie gewijzigd door Prince op 24 juli 2024 09:45]

Nou, ik krijg vooral het gevoel dat hij onder valse voorwendselen in gesprekken is gelokt om meer te "bespreken" over AppGet om vervolgens keihard zijn ideeën te jatten en hem te ditchen. Dat is iets wat wel veel meer indy developers overkomt omdat het zakeninstinct wat hen zou moeten waarschuwen compleet ontbreekt.
Het gaat wel vaker vreemd bij MS en opensource. Deze is van afgelopen week. Ondanks de nieuwe wind er zou waaien lijkt het gewoon nog op het oude MS.
Het is eigenlijk net zoiets als Chocolatey (choco) dat al bestaat, en ook een GUI frontend heeft, en een veel grotere database. Verder heb je ook Scoop (scoop) waar je FOSS mee kunt installeren.

Zoals elders is verkondigd in deze thread: Microsoft heeft vooral het wiel opnieuw uitgevonden, je kent het wel: NIH-syndroom.
Damned if you do, damned if you don't

"Andere besturingssystemen zijn veel veiliger, want daar installeer je alles via een gecureerde package manager!"
"ok, hier is de microsoft store"
"Nee dat is niet goed, dat draait alles in sandboxed UWP apps en is niet scriptbaar!"
"euh, ok, hier een gemakkelijkere tool waarmee die ook voor niet-UWP packages bruikbaar is en die je ook in scripts kan gebruiken"
"Wat is hier het nut van? Chocolatey doet dit al!"

Tja, mensen zeiken graag op MS ¯\_(ツ)_/¯
Heeft geen drol met MS bashing te maken.

Heeft te maken met https://xkcd.com/927/ dat gaat veel verder dan 1 bedrijf. Fragmentatie heb je zelfs op Android. Ik update een telefoon en denk dat netjes te doen, blijken er nog updates te staan in de Galaxy Store (terwijl niemand die apps gebruikt). Tja...

Uiteindelijk heb ik voor elk OS een tool nodig zoals topgrade of upt. Omdat iedere OS installatie het weer helemaal anders doet. Geen goede zaak.
Dat is waar en op dit moment gebruik ik ook Chocolatey.
Maar dat ben ik toch niet helemaal tevreden van:
- het is altijd afwachten of er een package gemaakt word bij een update.
- de commercialisering van Chocolatey staat me niet aan. Hun goed recht, maar toch.

En er valt wel iets te zeggen voor een goed ondersteunde oplossing van de maker van het OS. 20 jaar te laat, maar ja
Anoniem: 334725 @Prince8 oktober 2021 15:46
Ansible module when
Ansible moet de api van dit soort zaken gebruiken. Het liefst zie ik voor ansible een module voor elke packet-manager en elke repository die daar weer achter zit.

Daarmee zou je dan dus bij ansible kunnen aangeven at je microsoft pakketen via de windows-packet-manager ophaalt en de google-ontgoogled pakketten via chocolatey.
Direct even gekeken wat ik al kon omzetten van Chocolatey naar Winget :)

Mochten andere (devs) hier profijt van hebben, onderstaand de inhoud van winget-install.ps1 (zelf maken):
#dev
winget install -e --id Microsoft.VisualStudioCode
winget install -e --id Notepad++.Notepad++
winget install -e --id JetBrains.Toolbox
winget install -e --id JetBrains.PyCharm.Professional
winget install -e --id JetBrains.Rider
winget install -e --id JetBrains.WebStorm
winget install -e --id JetBrains.dotUltimate
winget install -e --id WinMerge.WinMerge-x64
winget install -e --id OpenJS.NodeJS
winget install -e --id Python.Python
winget install -e --id Postman.Postman
winget install -e --id HeidiSQL.HeidiSQL
winget install -e --id Git.Git

#browsers
winget install -e --id Google.Chrome
winget install -e --id Mozilla.Firefox

#social & games
winget install -e --id SlackTechnologies.Slack
winget install -e --id Discord.Discord
winget install -e --id Valve.Steam
winget install -e --id Playnite.Playnite #one launcher to rule them?

# winget install -e --id GOG.Galaxy
# winget install -e --id Ubisoft.Uplay
# winget install -e --id Blizzard.BattleNet

#utility
winget install -e --id Piriform.CCleaner
winget install -e --id LogMeIn.LastPass
winget install -e --id VideoLAN.VLC
winget install -e --id Greenshot.Greenshot
winget install -e --id 7zip.7zip
winget install -e --id PrivateInternetAccess.PrivateInternetAccess
winget install -e --id Nvidia.GeForceExperience
winget install -e --id Microsoft.SQLServerManagementStudio
winget install -e --id Malwarebytes.Malwarebytes
winget install -e --id mRemoteNG.mRemoteNG

# NOT YET SUPPORTED
# GitExtensions
# BitDefender
# VS2019
# VS2022 (Preview)
# EA Desktop
# HitFilm Express
# Rockstar Launcher
# Affinity Designer
# Affinity Photo
Hierbij uiteraard vooralsnog enkel gelet op welke packages er waren, niet naar welke opties er worden aangeleverd met winget, bijv. --silent, --scope, --location, etc.

[Reactie gewijzigd door Lt.Kraken op 24 juli 2024 09:45]

Mijn eerste schot was eens zien naar de versies die geleverd worden:

Calibre: Tweakers: 5.29. Chocolatey: 5.29. WinGet: 5.14. (15 versies == 30 weken achterstand)
LibreOffice: Tweakers: 7.2 .Chocolatey: 7.2. WinGet: 7.1 (toegegeven, de afgelopen week uitgekomen)
Firefox: Tweakers: 93. Chocolatey: 93. WinGet: 87 (???)
FirefoxESR: Tweakers: 91. Chocolatey: 91, WinGet: 78. (toegegeven: firefox levert zelf ook 78 als primair en 91 alleen als je er voor kiest)
Thunderbird: Tweakers: 91 of 78. Chocolatey: 91. WinGet: 78 (zie ook FireFoxESR...)

Er is zo hier en daar mogelijk werk aan de winkel. Misschien is het puur cosmetisch en onder water toch 'de laatste versie'. Maar de administratie in de pakketten doet anders geloven.
AuteurDrobanir Downloads en Best Buy Guide @beerse8 oktober 2021 22:05
Nee dat is niet waar. Als je op de website kijkt staat er inderdaad Calibre 5.14, maar winget install -e --id calibre.calibre haalt 5.28 op (5.29 is vandaag uitgekomen). Ik heb vergelijkbare resultaten met je andere voorbeelden.
Dan zouden ze de website moeten aanpassen: Ofwel geen versie nummer noemen, ofwel de versie nummers iets actiever bijhouden.

Naar mijn idee kan dat er ook tussenin, zoals veel andere package managers: zonder versie nummer is het 'latest'. En de versie kan als optie worden aangegeven en daarmee geforceerd (en vastgehouden).
Als ze het helemaal netjes doen, dan zouden ze markers als 'latest', 'fresh', 'beta' en 'esr' en zo ook als versie kunnen honoreren of daar zelf 'vertalingen' aan maken zodat die een stabiele versie-aanduiding hebben.
AuteurDrobanir Downloads en Best Buy Guide @beerse11 oktober 2021 09:42
Daar zijn we het over eens dan; het heeft zeker potentie, maar er moet nog wel e.e.a. verbeterd worden.
Kortom, een hele berg met Electron :)

Het wordt wel langzamerhand completer.

Chocolatey heeft een limiet op hun search requests. "Moet je maar zelf hosten." Uiteraard met kostenplaatje voor licentie...

Voor mensen die doorgaans met Unix werken kan ik scoop aanraden.
Gelukkig heeft chocolatey verschillende versies/varianten: https://chocolatey.org/compare. Om te beginnen is er de open source versie. Die kan je geheel naar je toe trekken en zelf in eigen beheer verder gebruiken. Met de andere versies kan je gebruik maken van de diensten van de organisatie.

Op de lijst zie ik overigens geen beperking voor de open source variant in het aantal zoek verzoeken. Waar ervaar jij die beperking?
Visual studio is wel degelijk supported….

Er is ook een export beschikbaar. Dan krijg je gewoon een JSON bestand met alle tools die hebt geïnstalleerd. Die kan je bij herinstallatie importeren. https://docs.microsoft.co...age-manager/winget/export
Winget install —all
C:\>winget list
The `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires current machine's geographic region to be sent to function properly.

Do you agree to all the source agreements terms?
[Y] Yes [N] No:
waarom hebben ze je locatie nou weer nodig? En 4 pagina's TOS.

Waarom gebruik je -e en -id, wat gebeurt er als je die weglaat?
En kun je dit ook gebruiken om de plug-ins in notepad++ te updaten?

https://docs.microsoft.co...ge-manager/winget/install
-e, --exact Uses the exact string in the query, including checking for case-sensitivity. It will not use the default behavior of a substring.
--id Limits the install to the ID of the application.
-o, --log Directs the logging to a log file. You must provide a path to a file that you have the write rights to
Zoals ik bij mijn post beschreven had, had ik n.a.v. dit nieuwsbericht enkel bekeken over welke items ik wel of niet overzetten kon. Daarbij heb ik gebruik gemaakt van de op winget.run aanwezige 'copy command' knop bij iedere plugin :)

Die TOS kun je automatisch accepteren d.m.v. van extra parameters (voor zover bekend bij mij, moeten deze aan iedere item individueel worden meegegeven).

--accept-package-agreements --accept-source-agreements
soort van apt-package manager voor windows ... klinkt interresant
wist niet dat zo iets reeds bestond, hip :)
Moet je teleurstellen... het is een hele matige tool die eigenlijk niet eens een package manager genoemd kan worden omdat hij niets managed: Het is niet veel meer dan een installatie/de-installatie script.

Degelijke package managers (Apt, RPM, Flatpak) ondersteunen het pinnen van revisies, het masken van updates, het switchen van edities en dependencies, rollbacks, en nog veel meer. Dit alles zit niet in deze tool van Microsoft. Het is iets wat Linux 20 jaar geleden al beter geïmplementeerd had.

Dit komt vooral door de manier hoe Microsoft het project aanvliegt: Ze beheren geen code, zoals Linux repositories dat wel doen, ze beheren alleen scripts. Microsoft kan dus niet 30 verschillende versies van Firefox op de server laten staan, voor het geval een gebruiken een specifieke versie wilt. Ze kunnen standaard alleen linken naar de download pagina van Mozilla. Deze hands-off approach maakt het voor Microsoft makkelijk om on Package manager twintig jaar naar dato te introduceren, maar het betekend ook dat het een package-manager in-name-only is.

Ben vrijwilliger in het packaging ecosysteem van Linux.

[Reactie gewijzigd door Eonfge op 24 juli 2024 09:45]

Als iemand die nooit Linux heeft gebruikt, zijn er nog meer verschillen tussen Winget en linux Package managers?

Ik kende alleen Winget en Chocolatey en scoop, namelijk tot 2 jaar terug. Van waar ik juist minder tevreden was met de laatste twee opties.
Chocolatey is niet echt een package manager te noemen. Chocolatey is meer te vergelijken met Ansible op Linux. Je kunt daarmee bepaalde installatie stappen (die bijvoorbeeld anders erg repetitief zijn) automatiseren. Waaronder het installeren van een standaard lijst aan applicaties e.d. Maar onderhuids gebruikt Ansible gewoon de lokale packagemanager. Waar Chocolatey ook gewoon msieexec aanroept om de installatie te starten.
ow... zo veel. Maar er zijn grofweg twee belangrijke verschillen:

- Linux packaging en repository systemen bouwen zelf de applicaties
- Linux draait volledig om shared libraries

Neem bijvoorbeeld Fedora Linux. Deze heeft twee systemen genaamd Bodhi en Koji die elke package op Linux vanaf source bouwen, voor verschillende platformen. Dit doen ze met RPM Package Manager, die er ook voor zorgt dat verschillende shared libraries bij elkaar komen. Uiteindelijk heb je dan een gebouwen applicatie en een lijst van dependencies die erbij worden gehaald als je een applicatie wilt installeren.

Concreet voorbeeld: Elke Linux machine heeft maar 1 kopie van SQLite (huidige versie op mijn bak; 3.34.1 2021-01-20 14:10:07). Firefox en Chromium delen onderwater de zelfde versie van SQLite, waarbij ze op Windows allebei hun eigen versie beheren en statisch bundelen. Dit heeft als grote voordeel dat een beveiligingsupdate in SQLite maar 1 keer geïmplementeerd hoeft te worden, en het scheelt natuurlijk ruimte en geheugen.
Concreet voorbeeld: Elke Linux machine heeft maar 1 kopie van SQLite (huidige versie op mijn bak; 3.34.1 2021-01-20 14:10:07).
Ik op mijn NixOS bak tel ongeveer 10 versies ;)

$ ls /nix/store | rg '^\w+-(sqlite-[0-9\.]+)$' --replace '$1' | sort | uniq
sqlite-3.21.0
sqlite-3.22.0
sqlite-3.23.1
sqlite-3.24.0
sqlite-3.28.0
sqlite-3.30.0
sqlite-3.30.1
sqlite-3.31.0
sqlite-3.31.1
sqlite-3.33.0
sqlite-3.35.5
sqlite-3.36.0

[Reactie gewijzigd door iThinkSo op 24 juli 2024 09:45]

Misschien zijn dat oude versies die nog lokaal staan en opgeschoond kunnen worden? Vergelijkbaar met 'apt(-get) autoremove' draaien op de commandline. ;) Ik weet niet wat NixOS gebruikt als package manager, ik ken het OS niet.

[Reactie gewijzigd door CH4OS op 24 juli 2024 09:45]

Ik weet niet wat NixOS gebruikt als package manager, ik ken het OS niet.
Ik zou zeggen verdiep je er in, gaat een wereld voor je open gezien je reactie CH4OS in 'downloads: Windows Package Manager 1.1'

Rollbacks/snapshots native (dus niet in filesystem zoals ZFS/btrfs of via bovenliggende VM snapshots)
Geen dependancy hell meer Elke versie staat in exact dezelfde path, op ieder systeem. Hierdoor kun je prima 10 versies van dezelfde library hebben geinstalleerd zonder conflicten.
Reproducible builds

Hierdoor krijg je volledig specificeerbare build envs die voor iedereen bit voor bit hetzelfde zijn. Enige nadeel is dat je er ff een programmeertaaltje bij moet leren. En, het is weer een extra standaard. Maar het mooie is dat Nixpkgs op elk Linux OS draait, zelfs op zooi als DSM of EdgeOS. En het werkt ook op macOS. Je kunt dus exact dezelfde environment op meerdere machines verkrijgen.
Dat niet alleen, maar vergis je ook niet in het feit dat de meeste dingen die een package manager op linux op Windows traditioneel door msiexec of bv installshield worden uitgevoerd. Deze bepalen aan de hand van een manifest welke bestanden waar geplaatst moeten worden. Feitelijk is daarmee het bestand wat je download de packagemanager. Je hebt dan ook dus geen package manager ala linux nodig op Windows, maar meer een manier waarop je installaties makkelijk kunt scripten of uitvoeren vanaf een CLI op een makkelijk en eenduidige manier. Dat wil zeggen, dat als je winget install <package> intypt dat het niet meer uitmaakt of het een MSI, MSP, installshield of wat voor package dan ook is, het resultaat is hetzelfde: geen prompts en een applicatie die op de juiste manier geinstalleerd is.
Je hebt dan ook dus geen package manager ala linux nodig op Windows,
Jij noemt het 'niet nodig' hebben, maar ik zie vooral nadelen; dependencies worden niet opgelost, updates worden niet geautomatiseerd etc.
Omdat het package beheer van Windows nu eenmaal anders is opgezet dan dat van Linux...
Microsoft stelt eigenlijk alleen een API beschikbaar om applicaties te installeren (msiexec, de Windows variant van dpkg voor Debian), waarvan ervan uitgegaan wordt dat eventuele dependencies in de applicatie zitten en het OS er niet verantwoordelijk voor is.

Enerzijds is dat wellicht vervelend, je hebt immers verschillende versies lokaal staan van 1 dependency, aan de andere kant geeft het aan de applicatie juist wat vrijheid. ;) Op die manier is een breaking change in de dependency niet direct een probleem voor alle maintainers, waar dat op Linux wel het geval is en alle applicaties compatible moeten blijven met hun dependencies.

[Reactie gewijzigd door CH4OS op 24 juli 2024 09:45]

Op die manier is een breaking change in de dependency niet direct een probleem voor alle maintainers
Helemaal waar, daarom zijn er op Linux tegenwoordig ook allerlei package formaten, zoals Snapp, flatpak en Appimage. Maar dat neemt niet weg dat het ridicuul is dat iedere applicatie onder Windows nog altijd zelf voor zijn updates moet zorgen, ofwel altijd op de achtergrond moet draaien, of tijdens het opstarten (lees: net als je de applicatie wilt gebruiken) gaat vragen of je misschien wilt updaten (lees: of je de applicatie nog eventjes niet wilt gebruiken). Dat zie ik zelf als een groot nadeel, waardoor ik niet zou willen stellen dat Windows het niet nodig heeft. Windows mist dat gewoon.
Tja, enerzijds is het vervelend, anderzijds heb je als applicatie ontwikkelaar wel veel meer controle over de dependencies.
anderzijds heb je als applicatie ontwikkelaar wel veel meer controle over de dependencies.
Toch staat dat los van elkaar. Als je wilt kun je ook onder Linux packages maken die alle dependencies statisch gelinkt hebben. Je zal weerstand ondervinden want dat is niet de manier waarop packages in rpm of deb-formaat behoren te werken, maar technisch zijn het meeleveren van al je dependencies en het zelf moeten regelen van updates totaal ongecorreleerd.
Microsoft heeft het voor Windows 7 overwogen om naast drivers ook updates voor software aan te bieden. Maar dat was door Win32 bijna onmogelijk. Zo gigantisch veel uitzonderingen en legacy goed en stabiel werkend krijgen met een volledig auto-update systeem, ze hadden er veel eerder mee moeten komen, maar op dat punt was het onbegonnen werk.
Verschil is wel dat apt, yum, flatpak, pacman en weet ik veel welke nog meer) al de nodige jaren bestaan en daardoor vele kilometers voorlopen op winget. Daarnaast is de opzet ook totaal anders, waar de meeste Linux packagemanagers eigen distro-sources hebben (dus even los van de manier van packagen e.d. waar jij vooral over praat) waar veel gebruikte tools en dergelijken ook in zitten. Voor Windows is dat er niet en op zich niet nodig ook; Windows onderdelen installeren kon immers al voordat winget er was met een Powershell commando of via 'Add or remove programs'. Het is dus vooral een tool om 3rd party apps te installeren, updaten en te verwijderen en dat doet het momenteel ook gewoon goed.

Deze Winget tool is daarmee dus niet voor de volle 100% te vergelijken met de Linux tegenhangers, al zou version pinning e.d. wel een mooie toevoeging zijn aan Winget, maar dat zal mettertijd vast wel komen. Laat het product eerst maar even volwassen worden en zichzelf meer en meer bewijzen.
Je vergelijkt dus een beetje appels en peren. Beiden zijn fruit, maar toch behoorlijk anders.

[Reactie gewijzigd door CH4OS op 24 juli 2024 09:45]

Verschil is wel dat apt, yum, flatpak, pacman en weet ik veel welke nog meer) al de nodige jaren bestaan en daardoor vele kilometers voorlopen op winget.
Wat Microsoft's "package manager" dan ook zo lachwekkend maakt... Die gasten hebben het vierkante wiel opnieuw uitgevonden terwijl er boeken vol zijn met documentatie over je je wel een degelijke package manager bouwt.
Je bedoelt naar de mening van de auteur een degelijke package manager bouwt? :)
Er is niet 1 heilige graal of zo waarmee zaken zoals package managers gebouwd moeten worden, anders waren er op Linux ook niet zoveel verschillenden. Sterker nog, dan was daar ook 1 standaard voor, maar gezien ik er net al een paar opnoemde, is ook binnen Linux dus een meningsverschil hoe je een degelijke package manager bouwt (waar ver niets mis mee is, overigens).

En zoals reeds gezegd, Winget is redelijk nieuw, de opzet is ook nog eens anders (namelijk dat Winget vooral 3rd party apps doet en dat bij Linux - out of the box althans - alleen de eigen standaard repositories heeft) en daardoor ook nog in de kinderschoenen staat. Dat is voor package managers zoals apt, yum en pacman niet anders geweest en waren ook niet bij de start zo gigantisch uitgebreid, dat is ook pas mettertijd gekomen, dus de vergelijk die je maakt, is bij voorbaat al niet eerlijk en dan is het gewoon vreemd vergelijken (naast dat je dus appels met peren vergelijkt).

[Reactie gewijzigd door CH4OS op 24 juli 2024 09:45]

Ik snap dan ook het nut niet van zo'n "scriptinstaller" die in de verte enigszins lijkt op een package manager zoals we die op Linux kennen. Ik zie het steeds meer dat Windows probeert op MacOS en Linux te lijken (ik riep dat in een ander artikel recent ook al), zonder dat het verder ook maar enig raakvlak heeft.

Ik blijf het zeggen: Microsoft lijkt wel in een identiteitscrisis te zitten en probeert zaken van andere OS'en af te kijken. Want dit tooltje slaat toch helemaal nergens op uiteindelijk? ;)
Alle bedrijven van een bepaalde grote hebben een probleem: Hoe kun je meer succesvolle producten ontwerpen? Het eenvoudige antwoord is: probeer alles!

Microsoft heeft drie economisch rendabele producten: Windows, Office en Azure... De rest zijn gewoon proefballon. Zal deze installatie tool ooit bergen geld opleveren? Vast niet, maar ze proberen het toch maar.
Heeft zelfs een vrij bijzondere historie https://keivan.io/the-day-appget-died/
interessant, bedoel je
Ooit geprobeerd maar had oudere versies bij sommige programma’s en nam al bestaande installs niet over, hopelijk is dat beter bij dit programma.
Als ik zo even snel bij winget op de site zoek naar een paar zaken die ik heel snel via chocolatey.org installeer, dan zie ik dat er wat achterstallig onderhoud is.
Check chocolatey
Qua aantal packages ligt Chocolatey nog wel voorop. 8772 vs 2600. Alleen ik denk dat Winget Chocolatey erg snel gaat inhalen. Ook zal Winget meer support krijgen van Microsoft.

Op dit moment gebruik ik ook Chocolatey op mijn PC. 3x per week start auotmatisch een "Chocolatey upgrade all"-.bat bestandje via Windows Scheduler.

Ik houd WinGet in de gaten. Wanneer Winget Chocolatey heeft ingehaald qua features en packages, ga ik zeker overstappen.
Anoniem: 238040 @Bliksem B8 oktober 2021 12:43
Chocolatey is af te raden vanwege veiligheidsredenen.
Kun je hier iets meer over zeggen? Ik gebruik al jaren Chocolatey (naar volle tevredenheid overigens), en ben dus even nieuwsgierig.
Dezelfde reden als waarom APT en al die andere package managers af zijn te raden: random figuren installeren random scripts op je computer, en er is geen hond (?) die ze checkt.
Packages worden gechecked. De meeste packages zijn al verified en gaan automatisch en anderen gaan handmatig. Daarnaast zijn alle chocolatey install en uninstall scripts per release gewoon te zien want die worden meegestuurd wanneer je een package pushed.
Dat is hetzelfde bij APT daar kan je het ook gewoon inzien dus ik zie niet in wat hier slecht aan is. Voor bedrijven kan je zelfs je eigen Chocolatey gebruiken met packages die admins gewoon kunnen controleren voor je het in je netwerk beschikbaar maakt.
'Packages worden gechecked'. Dat zegt me niks. 'Verified' voor wat precies?

Bij APT heb je reproducible builds.

Dat houdt in:
It should be possible to reproduce, byte for byte, every build of every package in Debian. More information about reproducible builds in general are available at
Niet alleen APT is daar mee bezig. F-Droid bijvoorbeeld ook. Ook is soms sprake van upstream patches om de boel reproducible te maken. Nixpkgs/NixOS heeft hetzelfde als uitgangspunt.

Zie ook https://en.wikipedia.org/wiki/Reproducible_builds

Chocolatey heeft dit niet, dat is eigenlijk niets anders dan een database van binaries met wat (un)install scriptjes. Of die binaries te vertrouwen zijn, hoe ze gecompileerd zijn, dat weet niemand. De scripts zijn FOSS, die kun je dus inzien. En dat is fijn, dat dat kan. Maar om dan te zeggen 'packages worden gechecked', nee. Er zijn in Homebrew ook packages die geen checksum hebben.
Daar zit een redelijk groot verschil tussen msWindows en linux. In de linux wereld worden de sources van de bron naar de distributie overgehaald en dan op de distributie gecompileerd. Deze distributie eigen pakketten worden verspreid.

Bij msWindows is het gebruikelijk dat de leverancier de binaries levert en dat er dus niet meer gecompileerd hoeft te worden. Chocolatey (en anderen) doen ongeveer de volgende stappen: Ze constateren dat er een update is, ze controleren deze update en passen de scripts met bijgaande controles aan: hashes worden herberekend, certificaten worden bijgewerkt en dergelijke. Ook wordt de download locatie nagezien en/of bijgewerkt.

Als je onder linux een pakket ophaalt, dan is dat rechtstreeks uit de repository waarbij de download wordt beveiligd met een secure verbinding. En bij het uitpakken worden hashes gecontroleerd.

Als onder msWindows met bijvoorbeeld chocolatey een pakket ophaalt, dan haal je het script en de controle zaken, net zoveilig als het hele pakket bij de linux omgeving. Daarmee download het script dan het pakket en controleert dat pakket dat het ook nog steeds de zelfde is als waarvoor het script is gebakken. Tel daar bij op dat veel installers zelf ook een controle mechanisme hebben. De pakketen (scripts) die bij chocolatey op de server staan hebben verschillende stadia van controle en garantie. Zie voor details de site van Chocolatey. Bijvoorbeeld: https://docs.chocolatey.o...what-is-a-trusted-package En wat details van zomaar een pakket: https://community.chocola...ogleChrome#testingResults

Uiteindelijk is het aan alle kanten door genoeg checks nagekeken om zeker te weten dat het na de controle niet meer is aangepast.

[Reactie gewijzigd door beerse op 24 juli 2024 09:45]

mooie tool, gebruik ik zeker, maar kan geen bestaande packages managen.
winget zeker nog zijn limitaties (default niet de silent installer, eigenlijk geen powershell output, versie pinning,...), maar al bij al een mooie aanvulling.
Ik gebruik nu chocolatey, maar daar ben je afhankelijk van vrijwilligers die packages willen maintainen. Hoe zit dat met Windows Package manager? Als in het in de MS store staat, is het ook hierin beschikbaar?
Komen ook van de community, staat allemaal op Github.

[Reactie gewijzigd door JustFogMaxi op 24 juli 2024 09:45]

Aan de ene kant is WinGet een hele prettige eenvoudige tool. Aan de andere kant bied het te weinig flexibiliteit.

Teveel packages hebben een zipped installer (niet ondersteund).
Sommige websites vereisen bepaalde headers (niet ondersteund).
Sommige packages hebben geen volledig werkende silent switch (niet ondersteund).

Met Chocolatey kan die allemaal wel, maar dat vereist dan weer het bijhouden van installer scripts. Daarnaast is Choco's CI/CD ruk (nog steeds Windows 2012), en vereist hun public repo nog manual reviews die voor nieuwe packages echt 4-6 weken kunnen duren.

Met andere woorden, package managers op Windows zijn nog steeds ruk :-).
De nadelen die jij voor winget noemt gelden veel minder voor chocolatey. Zij hebben die zaken redelijk onder controle. Al zijn die zaken vooral het probleem van het originele pakket dat je geïnstalleert wilt hebben.

Wat je bij chocolatey als minpunt noemt geldt ook voor de meeste linux distributies. De repositories zijn allemaal zodanig dat ze de oudste ondersteunde versie kunnen bedienen. De peer-reviews en vergelijkbare controles hebben allemaal altijd een doorlooptijd. Bij chocolatey kan je ze wel altijd doorbreken, gebruik daar dan de juiste opties voor.

Het mooie van package maamgers is dat er gelukkig genoeg zijn om uit te kiezen. Wanneer komt die van jou uit? }>
Grappig dat MS steeds meer dingen vd. Linux-wereld kopieert en zelfs Linux omarmt. Ik vind het een zeer positieve ontwikkeling. Op deze wijze heb je het beste van 2 werelden.
Even geinstalleerd om te kijken wat het precies doet. Echter krijg ik bij alle packages:
No package found matching input criteria.
Voorbeeld:
winget install -e --id ElectronicArts.Origin
Nevermind, werkt voor geen meter dit. De meeste packages krijgen output No package found matching input criteria.

[Reactie gewijzigd door Joao op 24 juli 2024 09:45]

winget install -e --id ElectronicArts.Origin

Nevermind, werkt voor geen meter dit. De meeste packages krijgen output No package found matching input criteria.
Dat komt vanwege dat EA Desktop wel in de library aanwezig is, maar EA origin niet. EA desktop moet de nieuwe opvolger van Origin worden wanneer dat uit de open beta komt maar werkt even goed naar mijn doen.

Probeer anders dit eens: winget install --id ElectronicArts.EADesktop


edit: link naar library op github. https://github.com/micros...kgs/tree/master/manifests

[Reactie gewijzigd door rain2reign op 24 juli 2024 09:45]

Ik denk eerder dat het aan je input ligt... Toevallig heb ik Origin ook via deze manier geïnstalleerd een tijdje geleden al.
Mijn input ja, ik heb mijn muis om input in te voeren.
Mijn input ja, ik heb mijn muis om input in te voeren.
Onhandig, zo'n onscreen toetsenbord ...
Anoniem: 211516 8 oktober 2021 13:19
Werkt van geen meter meer sinds update alles wat is krijg is een lijst het installeert niets meer gooi ik update er af en doe ik oude update no problem, nieuwe update zelfde commando nope hier is een lijst echt waardeloos en slecht, wat een teleurstelling.
Probeer het over een paar jaar nog eens. Mijn ervaring met MS producten is, dat het pas een paar jaar na de introductie goed werkt.
Als ik hem downgrade me oude package die ik heb werkt het, maar update hij automatisch na niet werkende versie elke keer
Anoniem: 1351930 8 oktober 2021 13:23
Het is een goede tool om apps te installeren maar ook apps te deinstalleren zie https://www.deskmodder.de...s-11-apps-deinstallieren/

Op dit item kan niet meer gereageerd worden.