Every now and again I like to reset my Windows install to factory freshness. I do it often enough that I have signposts that alert me to when I might be ready for the task, things like installing Virtual Audio Cables, for example, something I do that always seems to happen at the end of an install’s life-cycle. I don’t know why.

Since Windows 8, we’ve had the option to remove everything from the system and “start fresh”. There are two options here: keep our perishable items such as stuff in the Documents, Pictures, Music, and Downloads folder as well as a few other locations, or just go full ham and nuke the whole system. For me, the first option defeats the purpose, really: I am looking for factory new and leaving shreds of a past life hanging around is not that. Of course, the second option requires more work. I have to remember to save the perishable documents elsewhere, export settings or databases from apps which support such efforts and make notes of which apps and what modifications I may have made for apps which do not. My Blender install, for example, is a massive headache as I have dozens of plugins which are probably all out of date by the time I have to reinstall them, though I do try and save them to a backup drive when I do re-download.

I have just performed one of these wipe-and-restore processes, and this was quite possibly the best experience I’ve had thus far doing this on Windows. I have a large backup drive which hosts a lot of files already; if an app needs to store stuff and allows me to customize where that is, it’s over on the removeable drive. This speeds up a lot of recovery actions, like when I rebooted Obsidian, as all of my vaults where already “off-site”. For other apps, I used internal export features where available and copied and/or ZIP’d other files for safe keeping.

While the resetting of Windows is pretty idiot-proof, the headache comes in the form of reinstalling everything and getting everything back in place. In the modern era this involves downloading installers for all of the apps I use on the regular, one after another, and hopefully remembering to delete the installers after, lest I sacrifice hard drive space to multi-gigabyte files I no longer need…which is often why I initiate these full system wipes in the first place (lookin’ at you, Steam!).

This time, though, I opted to try something different. Windows has been integrating more nods towards other operating systems, such as Linux, by providing a host of command line tools which allow users to do easy things in a far more complex and convoluted way. But the benefit of having such tools is that they can be scripted, which is why this time I used winget to reinstall most of my apps.

This app searches through…I have no idea where, really, but they are officially curated locations…for applications we might want to install. For example, you can open a command line or Powershell window and type winget search discord and you’ll get this:

That’s a lot of results, but you can see the top two results match up with the Discord we know and tolerate because we let Guilded slip through our fingers. Using winget to install an app is easy:

winget install --id Discord.Discord -e`

This will download the installer and run it like it would if we had downloaded the installer and performed the actual manually.

In fact, if you want to make things really easy, you can hit up Winstall.app which allows you to search for all of the apps you want. The site will then bundle a script for you in one of several different forms so you can execute a mass download-and-install. If an app requires input from you, you’ll still see the popup windows, and if you have to install with Admin privileges it will prompt you for access. I did this with over 20 apps and everything worked out exactly as expected except that I didn’t have to collect the installers and run them sequentially. Unfortunately, the repo didn’t have all of the apps I need, or there were a few I forgot to include, but it still shaves an enormous amount of time and effort from the build or re-build process.

Now of course Linux can do this, so smug Linux users need not comment, but for the perpetually visual-in-nature Windows to offer this kind of functionality is a great tool. I have kept the script on my backup drive and plan on amending it over time because I know that I’ll be flatlining this installation in…say…a year’s time, because that’s apparently how I roll.

Scopique

Husband, father, gamer, developer, and curator of 10,000 unfinished projects.

1 Comment

  • Nimgimli

    May 2, 2025 - 3:00 pm

    There’s also Chocolatey which I used to use https://chocolatey.org/

    At a glance they seem pretty similar. Chocolatey has been around for a while and never seemed to get much traction so perhaps winget is the better option.

Comments are closed.