Perfect job Steve, thanks.
A few remarks if I may:
I have now added support for Config sections in my version. What I do is look for a [Config section with a 'value' and a PnPInstance string in the txtsetup.oem file that is in the driver pack folder.
I use the first section that I find.
NT4 sections don't seem to use PnPInstance.
The only thing is if there is more than one section with PNPInstance in, then I only the use first one as I don't really know which hardware ID it belongs to..
There are folders which do not include txtsetup.oem, but the driver most likely needs the PnP entry and would bluescreen without it, example is \M\N\.
The only reliable way I could find to determine if that entry should be used, is to search the found INF file for the string "Parameters\PnpInterface". In some inf files there are spaces on that row, hence the string. I could not find any commented out such lines in all inf files, so it should be safe to search in the whole inf file for that string.
Mind you, some drivers, such as symmpi.sys list it in the inf file, but work just fine without it, meaning they support both legacy and pnp mode, unlike some other which would require that line:
2) Is creating blank config section expected behaviour? Seems to not cause problems though. Got such when testing in VirtualBox with SCSI adapter (symmpi.*)
3) Maybe give user slightly more time (15?) to select default driver when several are found, that's a lot of info on screen for regular user to read and decide.
::If DriverPack.ini file description has not WXP and has W2K/W2K3 then skip it
I think the proper way is to check for ms_X_exc_disableIfOS and ms_X_exc_skipIfOS values if possible. Many XP drivers do not include "WXP" in their description.
Maybe a good enhancement would be a switch to DPMS to include only drivers for particular OS, i.e. "DPMS.bat 2 WXP", or "DPMS.bat 1 W2K3".
5) TestDPMS2.g4b :
set TESTCASE="PCI\VEN_1095&DEV_3132"="3132R5C" ; D/M/SC "SI3132R5.sys" "Silicon Image 3132 SoftRaid5 for BIOS 7223"
echo CHECK SI3132R5.sys driver present
Note 3132R5C and SI3132R5.
This results in:
set TESTCASE="PCI\VEN_11AB&DEV_6440"="SI3132B5" ; D/M/SB5 "SI31322.sys" "Silicon Image 3132 SATALink for BIOS 7405"
echo CHECK SI31322 driver present
Here seems to be driver/service name mismatch as above.
Testing with DP MS 12.09 and dpms2.g4b 1.00 2013-07-04.