Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Download: Drivers Harvester
Update from 12/19/15 - now the program copies all OEM drivers to a separate folder, regardless, if they're loaded or not.
Update from 09/01/15 - now the program does not copy PNF files.
Inspired by Michael's blog post on grabbing drivers from running computer from here: https://blogs.technet.com/b/mniehaus/archive/2013/09/16/grabbing-out-of-box-drivers-from-a-windows-8-system.aspx, since I've always been advocating the dynamic approach to drivers management, I decided to address some of his concerns and developed my own "drivers harvester". There is a bunch of tools out there, but I would not recommend using them - for example, one of them copies file from INF file keeping its name of OEM<number>.inf. But that, actually, gave me an idea how to tell OEM from inbox drivers..
So let me answer Michael's caveats:
Answering this, we're not trying to address things like Bluetooth stacks, or Wireless bundles of software - the task is limited to anything that can be installed either with "Install Drivers from Package" or "Auto Apply Drivers" in SCCM or Apply Drivers in SCCM. There is always will be that subset of "tools" that OEMs want to call "Drivers" when actually they are not drivers that you can install with INF. We will have to deal with them separately. My point is that if it's not a software bundle, everything you need is under C:\Windows\System32\DriverStore\FileRepository.
This is a real concern. So what I do in my harvester, I only find drivers that are currently loaded with psapi.dll library method called EnumDeviceDrivers https://msdn.microsoft.com/en-us/library/windows/desktop/ms682617(v=vs.85).aspx
This is, again, a valid concern, but since we're only checking loaded drivers, we are skipping older versions automatically.
And here is what Michael says: "For example, my laptop has over 100 out-of-box drivers. Does it really need 100 drivers to work? No, it only needs 6-7. "
You got it, Michael. Sorry, it's a little more - but all of those are a real deal!
So here is the algorithm - how it works.
Here is how to use it:
Enjoy! If you don't trust unknown exe from untrusted source - source code is attached.
Anonymous
November 22, 2013
Errors running on Windows 8:Application: HarvestDrivers.exeFramework Version: v4.0.30319Description: The process was terminated due to an unhandled exception.Exception Info: System.IndexOutOfRangeExceptionStack: at HarvestDrivers.HarvestDrivers.Main(System.String[])Faulting application name: HarvestDrivers.exe, version: 1.0.0.0, time stamp: 0x527a8e40Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988aa6Exception code: 0xe0434352Fault offset: 0x000000000003811cFaulting process id: 0x1614Faulting application start time: 0x01cee7c1911be72aFaulting application path: C:UserscargreDownloadsHarvestDriversHarvestDrivers.exeFaulting module path: C:Windowssystem32KERNELBASE.dllReport Id: d34b03d4-53b4-11e3-be99-180373e8cdd6Faulting package full name:Faulting package-relative application ID:
Anonymous
December 02, 2013
The comment has been removed
Anonymous
December 08, 2013
So let me answer Michael's caveats: good:)www.software-driver.com
Anonymous
July 31, 2015
Thanks for teaching about harvesting drivers from a running PC.
Anonymous
August 22, 2015
Great tool! Works with Windows 10.
Anonymous
September 03, 2015
Finally got around to trying it - worked very well on a Lenovo Yoga Tablet 2, especially compared to the OEM downloads which didn't...
Anonymous
October 19, 2015
Thank you, Michael!
Anonymous
February 24, 2016
Thank you alexsemi, you are a boss and a true champion of IT driver harvesting! Also want to thank Michael Niehaus.
Anonymous
February 24, 2016
This one worked well also on Windows 7: gallery.technet.microsoft.com/Driver-Management-f6287a10
Please sign in to use this experience.
Sign in