Well... I don't think you need to extract only the needed drivers, (as it should be a pain in the butt to code that). Maybe just:

1- Find HW ID's
2- Find the drivers for the HW ID's (they should already be extracted)
3- Install Drivers.

The concept actually is quite similar to what Unknown Devices by Halfdone Development does, but it lacks the DP compatibility and the Installation bits. Maybe that's why it's called "Halfdone"... smile

Oh, and btw if you need an extra host, I'd love to help smile

Hello WsnoW. Let me tell you beforehand that you were the reason for me registering here.
I have just downloaded the updated driverpacks, and I was thinking about asking if a program like yours could not be created as after all, the concept would be really simple:

1-Get PCI Id's from the system
2-Parse the inf files to get the PCI ID's each driver supports
3-Check which inf files support the PCI ID's from the system
4-Show a list to the user with an install button next to it (to go manually) and also give them a full automated install option.

Someone was asking about the size of the DP's. My question is, do I have to put them compressed or can I uncompress all of them and it'll work?
I'm asking this because extracting them takes a long time even on a fast computer, and I have to work also sometimes with pentium 4 1.4 ghz and old amd durons and athlons so...

Also could you tell us, the correct way of working with the program?

I've opened it now, and it found the DP's (7zipped) on the DP folder (note: I'm not trying to and I do not have them integrated into a windows cd\dvd). I clicked extract and it's extracting, but I don't know where to.

My idea was to burn your app and the extracted dp's, so that when I pop the dvd \ ext. hd into a machine it would simple scan the pci id's from the registry, find the drivers and install them. No extracting needed what so ever. Is it possible?

This tool (together with the excellent job with the DriverPacks of course) will make my job soooo much easier (I fix computers for a living).
Thanks.

PS: I've took a little time to "draw" a concept of what I think would be a good GUI (as my programming skills suck):
http://img153.imageshack.us/img153/5996/dpguiqh2.th.jpg

1-Clicking would detect the PCI ID's for the installed hardware, maybe just the ones without drivers installed or even better the ones with older drivers.
2-This one would install the drivers for the selected devices on the left.
3-This one would install the drivers for all the devices on the left.
4-Shows up form2 big_smile
5-This could parse all the inf files on the D\ folder and subfolders and make a "cache file" so that it wouldn't have to look in all .inf folders everytime.
6- Cleans the cache.

I believe there is no need to have all the drivers extracted, since it takes space and most of them would never be needed.
If new hardware is added, then just running this installer again should be enough.

I'd like you to think of this as a suggestion. Even more stuff can be added, but I (and I think many others) like this stuff simple.