tsvx / DriverStoreCleaner

Explore Windows System Driver Store and Cleanup old drivers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DriverStoreCleaner

Explore Windows System Driver Store and Cleanup old drivers

DriverStoreCleaner makes it easier to clean up Windows 7 driver store.

This project is inspired by and uses ideas from:

  • DriverStore Explorer [RAPR] by Kannan Ramanathan

    DriverStoreExplorer GUI makes it easier to deal with Windows Vista / Windows 7 driver store. Supported operations include enumeration, adding a driver package (stage), adding & installing, deletion and force deletion from the driver store.

    DriverStoreExplorer is written in C# and uses pnputil for enumeration, info retrieving and safe deletion of the drivers. So, the info fields of a driver shown are INF-file, Pkg Provider, Driver Class, Date, Version and Signer.

  • pyWinClobber/driver_cleanup.py and this article by JustAMan

    This script performs DriverStorage cleanup removing possible staged driver duplicates. The operation should be safe as it utilizes MS pnputil.exe to do the job, and the mode in which the util is used forbids removing the driver that is currently used for installed devices.

    driver_cleanup.py is written in Python and uses pnputil for enumeration, info retrieving and safe deletion of the drivers, too. But it uses some advanced techniques to estimate the size occupied by a driver in the Driver Store, and to determine the latest driver and old drivers for a device. A user can find out by that how much space would be freed and can automatically delete old drivers.

  • PnpFind by mcuee

    pnpfind Vista/7 driver storage managment console program by Travis Robinson

    PnpFind is written in C# and uses File API for enumeration, Windows SetupAPI for info retrieving and pnputil for forced deletion of the drivers.

The goal of this project is to make a GUI interactive program with the functionality of the console script driver_cleanup.py and to add the ability of removing the drivers that pnputil does not detect.

It happens when the OEM INF file of a driver has been removed, but the driver remains staged in the Driver Store. In that case, one can use dism utility to get an extended list of drivers in the Driver Store. So after that, to get pnputil -d working, we should find the corresponding INF file and copy it to the Windows INF directory.

That's the feature that the above projects don't implement.

About

Explore Windows System Driver Store and Cleanup old drivers

License:GNU General Public License v2.0