1 of 1 people found this helpful
Sounds like the same problem as discussed here. Mini-setup is installing the driver not based on your "new" inf file (i.e. the one referred to by your oempnpdriverspath) but on an "old" one (i.e. already present in c:\windows\inf).
Let's just think our way through the process and see if we can make sense of the sorry outcome. Say you put the "new" NIC driver at c:\drivers\nic and you specified oempnpdriverspath=c:\drivers\nic. Oempnpdriverspath appends the listed paths to the DevicePath key in the registry, so the DevicePath key as found by mini-setup will look something like this: c:\windows\inf;<more_stuff>;c:\drivers\nic. Now let's follow along as mini-setup scans all the paths listed in DevicePath looking for an inf file that matches the target machine's NIC. Your source machine had a similar NIC (same driver), therefore there is already a matching inf file in c:\windows\inf. And because c:\windows\inf comes first in the DevicePath key, mini-setup will find the existing inf file in c:\windows\inf before it finds the one in c:\drivers\nic. I'm not sure what the rules are when there are several matching .inf files, but if we assume that it always takes the first one, we should expect the symptom that you report.
Solution: make sure that your new driver comes first in DevicePath. Instead of c:\windows\inf;<more_stuff>;c:\drivers\nic, you want c:\drivers\nic;c:\windows\inf;<more_stuff>. How do you achieve that? Here's one way: don't use Oempnpdriverspath. Instead, use ldprep V1.7 with a /p command line parameter. Ldprep is a tool that is part of the HII (Hardware Independent Imaging) package, which you can find here.
I extracted drivers from both of the images in question using Driver Magician and created a copydrivers.ini with their location.
The oempnpdriverspath line was removed from the sysprep.inf file as well.
As per the instructions in the HII documentation, I added the following lines to the ini file associated with image created from an Optiplex 755:
REMEXEC371= h:\tools\copydrivers.exe /c
REMEXEC372= h:\tools\ldprep /p /path=c:\drivers
I received the exact same error during minisetup "The file 'e1k5132.sys' on...." etc etc etc.
I am currently attempting to use ldprep by adding the LdprepDriversPath line to the sysprep.inf file and running ldprep /p after sysprep.
I'm sorry that the remedy didn't work out. But I still believe that my analysis was essentially correct: mini-setup is installing the NIC driver based on an existing inf file in c:\windows\inf, not on the inf file in c:\drivers.
There are 2 possible reasons why the remedy didn't work:
1. You didn't do it right. Did you run sysprep again (without oempnpdriverspath) and build a new image? If you kept the existing image and just removed oempnpdriverspath at deployment time, that is not what could have made the difference. Did you check the DevicePath key as modified by ldprep? The purpose of the exercise was to make sure that the NIC driver in c:\drivers comes before c:\windows\inf. Check the ldprep log file (c:\drivers\ldprep.log if you use the defaults) to see if that's the case.
2. There is some other reason why mini-setup prefers the existing inf file. When mini-setup finds two matching inf file, the rules by which it choses one or the other are more complicated than "always takes the first one". If the two inf files are "equivalent", I suppose it takes the first one and that's where ldprep /p can help. But if the inf files are not equivalent, there are other factors that determine mini-setup's choice, including the driver version and the closeness of the hwid match.
One other strategy you can try is delete the existing inf file in c:\windows\inf. It won't be called e1k5132.inf. It will have been renamed OEMnn.inf.
"I am currently attempting to use ldprep by adding the LdprepDriversPath line to the sysprep.inf file and running ldprep /p after sysprep". Can't see any point in this exercise.