Hey hey,
Let’s say you have a super large installation with 40+ machines, and you want to update vvvv on all of those.
There are of course many ways you could solve that more or less manually without having to go on each machine one by one, but I’d say using Chocolatey is the most straightforward.
Think of it like apt install
for Windows : once Chocolatey is installed on your system, you can type things like choco install firefox -y
and it installs Firefox on your machine. There are tons of packages available and the thing is battle-tested.
It takes care of installing dependencies the package needs (think .NET runtime), checks for the integrity of the app it’s installing (which can be important when you have a lot of machines), allows to properly upgrade/downgrade packages and keeps track of all versions of an app.
It would also allow to install vvvv via ansible
, since there’s a Chocolatey module for it (which again is cool if you’re managing large scale applications).
Winget packages could also be an option since they’re supported out of the box on Windows, but packages have to be validated by a human on each updates and this can take up to days. If I remember correctly, once validated, a Chocolatey package can be automatically updated.
No idea to what extend that could be automated from the build server though as I have never played with TeamCity myself.
What do you think?
Cheers!