I’m happy to start this blog post by proclaiming my undying love and affection for DriverStore Explorer. Also known by its executable file name RAPR.exe, this dandy little tool makes it dead simple to prune the Windows DriverStore of unused and obsolete device drivers. I’ve been a fan since this little tool first appeared on CodePlex almost a decade ago, and I remain a fan of the newest version (v.0.9.21) now available at Github. Here are links to DriverStore Explorer’s home page and its download page (scroll down until you get to the Releases link there and you’ll always get the latest version), to make it easy for you to check it out for yourself. [Latest version as of 11/18/2018 posted to GitHub on 11/16/2018.]
Digression: About the Windows DriverStore
Before I run down the various and interesting capabilities that RAPR.exe brings to the table, I’ll excerpt a little bit from Microsoft Docs, where a Hardware Dev Center article entitled “Driver Store” (last updated Apr 20, 2017) provides a pretty complete overview of this Windows facility. The driver store is a trusted collection of Microsoft-supplied and third-party driver packages that Windows maintains “in a secure location on the local hard disk” (or storage device, for the vast majority that now uses SSDs instead of spinners). Only driver packages from the this Driver Store, which may be found at %windir%\System32\DriverStore\FileRepository on Win10 systems, can be installed for a Windows device. This driver handling approach goes back to Windows Vista, and continues through to the most current versions available today.
When a driver package is copied into the DriverStore, all files get copied, including the INF file and all other files that the INF references. Thus, all files in the driver package are needed to successfully complete device installation. Copying a driver package to the DriverStore is called staging, where a driver package must be staged to the aforementioned folder before is may be used to install any devices. Along the way, the driver package must be verified and validated. Verification ensures software integrity and involves verifying the package’s digital signature. Validation involves checking the current user’s permissions to install the driver package, and checking that the INF file for the driver package is valid (MS doc says “syntactically correct” which obviously involves parsing and checking against a syntax model) and that all files referenced in the INF file are present and accounted for in the driver package.
Only when a driver package passes these integrity and validity checks does it get staged into the DriverStore. After that, the OS can see and use the driver package to install new devices without requiring user intervention or interaction. Please also note that the .doc file also says: “Once files are staged to the driver store, they should not be removed or modified in any way.”
DriverStore Explorer at Work
RAPR.EXE cheerfully shows you the entire contents of the DriverStore. It also gives you the ability to add new driver packages manually, or to delete such packages from the DriverStore at your command. By default, the program won’t delete drivers that are in use, providing built-in protection from self-inflicted harm (though you can force the program to delete such drivers anyway, by checking the “Force Deletion” box at the upper right). Because old drivers won’t normally be removed from the DriverStore even as newer versions get added, to my way of thinking what gives the program its biggest value is its ability to recover the space that old or obsolete drivers consume and let you use it for something else. Here’s a compelling illustration, from my product desktop:
Notice that each of the checked, older Nvidia drivers is 500-plus MB in size. 5 of them tot up to 2.5-plus GB!
By chucking out the older versions of my Nvidia GeForce GTx 1070 device drivers, I can recover over 2.5 GB of disk space. By itself, that’s a good enough reason to run this little beauty from time to time. During this run, in fact, clicking the program’s “Select Old Drivers” button also detected another 547 MB of reclaimable space, in the form of two each RealTek and Nvidia audio drivers, and an outdated version of an Intel system device driver (sunrisepoint-hsystem, one of the chipset devices). With a single button click, the program identifies all of my obsolete drivers, and lets me flag 3 GB of driver packages for deletion, with no real effort on my part.
It’s a narrowly focused tool, to be sure, and one that you don’t need to run very often. But it does its job quite nicely, and helps keep the DriverStore clean and pristine. Highly recommended, and worth including in a Windows Admin toolkit.
Author: Ed Tittel
Ed Tittel is a 30-plus-year computer industry veteran. He’s a Princeton and multiple University of Texas graduate who’s worked in IT since 1981 when he started his first programming job. Over the past three decades he’s also worked as a manager, technical evangelist, consultant, trainer, and an expert witness. See his professional bio for all the details.