Chocolatey is the best option I've found for this on Windows:
Chocolatey was created by Rob Reynolds in 2011 with the simple goal of offering a universal package manager for Windows. Chocolatey is an open source project that provides developers and admins alike a better way to manage Windows software.
You can install & uninstall software from the command line and update everything installed through it with one command.
It's not a real package manager of course. It can't update the operating system, and Windows applications aren't built for modularity and shared libraries the way Linux applications are. But it does automate application management like nothing else. I highly recommend this if you use Windows.
There's winget now too, which is the official Windows package manager. I've used it a couple of times now and worked as expected, not sure how it compares to chocolatey outside of simple app installs though.
I love winget, at least for the initial installation. No more having to search the the download and click through a gui. Just one or two commands (two if searching for the id) and done.
A lot of apps don't follow this guidance. There's plenty of apps whose per-user installations aren't installed into %LocalAppData%\Programs. I've even seen some that install into the roaming AppData directory!