DEV Community

Andrew Armstrong
Andrew Armstrong

Posted on

AppGeek: one update run across winget and the Microsoft Store

Hi DEV!

Keeping a Windows machine current is still a chore. Some apps update themselves, some nag, some do nothing at all, and the Microsoft Store sits in its own corner doing its own thing on its own schedule.

AppGeek pulls both worlds into one list:

  • Asks winget and the Store what has a newer version
  • Shows everything with an update waiting, in one place
  • Updates whatever you tick, in a single run
  • No installers to download by hand, no per app update checker in your tray

Why I built it

winget already does most of this from a terminal. The gap is that it is a terminal, and the Store is not in it. Most people who need this are not going to run winget upgrade --all and read the output, and the ones who would still have the Store sitting outside that list.

So the app is mostly a decent list with two sources behind it. That is not a groundbreaking piece of engineering and I am fine with saying so.

Tech stack

  • .NET 8, net8.0-windows
  • System.Text.Json, and not much else
  • Shells out to winget and reads its JSON output rather than reimplementing package resolution

This is the one app in the range without Avalonia. It started as a small thing and the dependency was never justified.

Parsing winget's output is the fragile part. It is a CLI aimed at humans, so column widths shift and the format is not a stable contract. Using its JSON output where available helps, but it is still the bit most likely to break on a winget release.

Honest caveat

The installer is not code signed yet, so SmartScreen may warn on first run.

Links

How many updates does it find waiting on yours? Mine is usually embarrassing.

Top comments (0)