Hello,
just yesterday I wondered why my Windows partition is running out of free space while not storing any additional data. I quickly fired up SpaceMonger and searched for space eaters.
I quickly identified the C:\Windows\System32\DriverStore to eat up a huge chunk of HD space.
What is the Windows driver store?
browsing through the files I realised that 80% of the space required was related to stored nVidia drivers. Each version of a driver package took about 150+MB which quickly added up to 1.75GB for storing OLD drivers.
Since I am logged in as administrator I decided to just delete those directories. I was unable to do so, because its a SYSTEM folder. If you do a quick google search you will find that you can either take ownership of those directories and delete them the dirty way or you can use a Microsoft tool.
pnputil -e
PnPUtil lists all the installed 3rd party drivers.
e.g.
Since my system is already cleaned up I can't show you multiple entries. But the scheme is simple:
Each .inf file represents a driver (unordered). It starts at 1 (no preceding zeros) and ends at whatever amount of 3rd party driver you have installed.
How can you cleanup those space eaters?
Simple!
pnputil -d oem<OEMDriverNumber>.inf
How should CCleaner support this mechanism?
Working with the PNPUtil is a pain. There is absolutely no batch processing or cleanup mechanism.
1. It would be great if CCleaner could support the user by calling PnPUtil with "-e" and parse the resulting list into a data grid, so the user can get a quick overview on which drivers are stored (ideally with size - which is not reported by PnPUtil).
2. Let the user select any number of drivers and send the remove command for those. Note: Unless you specify the "/f" command you can NOT remove driver currently in use and thus affect your system in a negative way.
Thanks for CCleaner!
Thanks for reading,
Mertsch