DEV Community

Andrew Armstrong
Andrew Armstrong

Posted on

DriverGeek: reading the Windows driver inventory with System.Management

Hi DEV!

Windows Update quietly holds back a lot of driver updates. It gives you the ones Microsoft has certified for your machine and stays silent about the rest, so you can sit on a two year old chipset or GPU driver without ever being told there is a newer one.

DriverGeek just lists what you have:

  • Every device, with its current driver version, date and provider
  • Whether a newer release exists
  • Nothing installed behind your back, and no bundled driver pack

You look at the list and decide. That is the whole app.

Why I built it

The driver updater category has an unpleasant reputation and mostly deserves it. Scare screens, invented issue counts, and a paid unlock to actually download anything. The genuinely useful part, telling you what is stale, costs nothing to provide.

I deliberately stopped short of auto installing. Driver installs are the one class of update that can leave a machine unbootable, and I did not want to own that decision on someone else's hardware.

Tech stack

  • .NET 8, net8.0-windows
  • Avalonia for the UI
  • System.Management for the WMI queries against Win32_PnPSignedDriver

WMI is slow enough that a naive synchronous enumeration makes the window look hung on a machine with a lot of devices, so the inventory is streamed in and the list fills as it goes.

Honest caveat

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

Links

Curious how many stale drivers it turns up on your machine, mine had more than I expected.

Top comments (0)