Topic: python script to collect drivers from DriverPacks Solution for WinPESE  (Read 525 times)

0 Members and 1 Guest are viewing this topic.

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 104
I had used DriverPacks.net's driver collection for Windows PE, but you may know, it is dead since 2012.
Since then, I have been using DriverPacks Solution Full as alternative.
However, it's collection is not sorted with Windows version and architecture, unlike DriverPacks.net did.
For example, it stores XP, Vista, 7, 8, 8.1, 10 drivers in one 7z archive!
To make thing worse, they are all scattered, because DPS sorts drivers by vendors.
So to build all-purpose Win10PESE x64, I had to collect Windows 10 x64 drivers manually from DPS's unsorted driver archive, which takes hours.

So I recently wrote a python script to automate this tiresome job, and have a peace. (I am tired with manual classifying!)
DriverPicker in github, * DriverPicker.zip (4.94 kB - downloaded 59 times.)
DriverPicker sorts out unnecessary drivers from piles of unsorted drivers, especailly DriverPacks Solution.

This python script scans target folders to find drivers which support specific Windows version and arch.
Then, it sort out unnecessary drivers and folders.
In result, only drivers for specific Windows version and architecture is left.
Which means, we can sort out unneccesary drivers from DPS driver collection in one command.

For example, we don't need any XP drivers for Win10PESE, right?
> python DriverPicker.py "DriverPacks" -arch amd64 -winver 10.0
This command will delete any non-10 non-x64 drivers from "DriverPacks" folder.
You may revise collected drivers, and put them into Win10PESE's 'Driver Integration'.


To use this script, you will need python 3 and treelib library to be installed.
Install python 3 into your system and add them to PATH.
Then type these into console :
Code: [Select]
> pip install treelib
> python DriverPicker.py --help
Calling DriverPicker.py with --help argument will print detailed help messages.

Note : it modifies and deletes subfolders of target folder, so you must prepare backup of target folder.
No one wants to lose one's precious driver collections.


Since this is first release and my first python program, it may have some bugs.
(For now, it cannot fully sort out unneeded drivers due to hardness of parsing .inf files)
May I ask test of this script to this forum?
To refine and improve this script, your help and opinion is necessary.
I hope this script to be useful.
« Last Edit: June 19, 2016, 08:26:25 AM by ied206 »

Galapo

  • Gena Baker
  • Grand Chef
  • *****
  • Location: Australia
  • Date Registered: Sep 2010
  • Posts: 1911
Yep, INF files are tricky things! Thanks for tackling this task and posting your program.

Regards,
Galapo.

 

Powered by EzPortal