This is what i would do:
Create a program that does this hands-free - admins would run this tool once everytime a pack updates:-
1. download all driverpack packs, including 3rd party ones. Latest versions of each only. Cache downloads for next time.
2. extract all new packs (cleanly)
3. for each driver folder;
3a. detect hwid's from inf files
3b. compress each folder into a 7z
3c. add hwid's into a database, with each hwid mapped to the name of the 7z single driver archive
4. update/overwrite a public online database with new database. It could be a proprietory database hosted here, or it could use wikiD @ MeediOS.com (url= http://www.meedios.com/wikiD/ ). It would also upload thousands of small 7z files to somewhere on ftp.
Then the client postminisetup would:
1. gather local pnp id's
2. look each of them up on this public database. The db would return a list of 7z url's which are just the drivers needed. It may contain overlaps and conflicts, which the client would sort out.
3. The client would download these tiny 7z files locally, and extract them maybe
4. dpinst or better would install them - even unsigned ones (hands-free/silently), and letting windows decide which is best--the currently installed ones, or a pick of a choice of drivers from dp.net (might be more than 1..). Also follow dp exceptions.
I've done about 40% of the above in c# @ https://meedios.svn.sourceforge.net/svn … verUpdater but I got busy on other things instead.