Link to home
Create AccountLog in
Avatar of Ithizar
IthizarFlag for United States of America

asked on

Sysprep Looking in Wrong Place for Driver Files

Hi folks!

I am using Sysprep to prepare XP machines for deployment using Ghost. Ordinarily, this gives me no trouble. I use the OemPnPDriversPath option to specify the location of driver files that will be needed during the mini-setup phase. I've had no problems with this before.

However, I have one particular set of computers I am building an image for that uses the Realtek gigabit Ethernet chipset. I have the drivers for it, and have the path of them specified in sysprep.inf. However, whenever the PC is booted for the first time after sysprep, it correctly detects the hardware, but pops up a box saying it can't find the driver files and asking me to insert the CD. For some reason, it is defaulting to looking for the drivers in a folder on the D: drive, which is the CD drive. I have to point it to the correct folder for it to proceed.

Any thoughts on why this might be happening?

Avatar of igor-1965
Flag of Czechia image

The drivers should be placed on the C: drive.

Avatar of Bidonet
Are you using signed drivers?

Unsigned Drivers Not Installed During Sysprep Mini-Wizard Without "-pnp" Switch;EN-US;256204
Avatar of Ithizar


Yes, I am using signed drivers. But I also have the DriverSigningPolicy value set to Ignore.

And I am already placing the drivers on the C drive, and I have the OemPnPDriversPath set to their location. But when the mini-setup runs, it insists on trying to look on the D drive for this particular driver.
Sorry for asking but can you double check the driver path from your sysprep.ini file and make sure it fits the real path?

Also, do you have multiple entries in your drivers path?  There is a limitation on the length for this value (either 2048 or 4096, I cannot remember).
Are you seeing exactly which file needs to be copied? Maybe it is having a problem being extracted from a .cab file?
Avatar of Ithizar


The path is correct. And I've done enough computer troubleshooting to know why you had to ask. :)

There are multiple entries in the driver path, yes, but it is well below the limit. I checked on Microsoft's site, and it says the limit is 4096 characters. But, regardless, my line is less than 400 characters total.

The file it is trying to copy is RtNicProp32.dll. This file does exist in the path it is supposed to be looking in, and it is not part of a CAB file or compressed in any way.

When Windows boots and runs the mini-setup, it pops up a box that says "Please insert the Compact Disc labeled 'Realtek 10/100/1000 NIC Family all in one NDIS Driver' into your CD-ROM drive (D:) and then click OK. You can also click OK if you want files to be copied from an alternate location such as a floppy disk."

If I click OK, it shows that it is trying to look in d:\oldsyx\nic. Where it came up with that path, I have no idea. I can then click Browse and it defaults to browsing in c:\drivers\drivers\OldSYX\nic, which is the correct path. I just confirm that path, and it takes off and finishes the installation.
Check out .INF filed the directory folder if they do not reference D: drive.
Avatar of Ithizar


No, I've already searched through the INF file. There are no references to D: or D:\ in the file.
You might want to look at this thread if you did not already:
Have you searched the registry  on the source system for "d:\oldsyx\nic"
Avatar of Ithizar


I looked at the referenced thread and tried some of the suggestions, such as putting the needed files into the Driver Cache folder, but didn't have any success.

I searched the registry for all instances of the word "oldsyx." The only reference I found to d:\oldsyx was in the installation sources key. I deleted that reference, but all that seems to affect is what locations it auto-populates the drop-down menu with when you go to install something and it asks you to specify the location. It didn't change the problem.

I also searched the entire hard drive for any files containing "oldsyx". Other than the sysprep.inf file, the only files that had that in it were log files showing where installations had happened.

I can't figure this out. I do know that when I originally set up this computer, I installed the drivers for the network card from CD. And so that's where the d:\oldsyx comes from. But why or where is Window still getting that location from? If there's no registry entry pointing to it, and no files that reference it, where is it pulling from? It can't just be making that location up out of thin air.
Avatar of Bidonet
Flag of Canada image

Link to home
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
Avatar of Ithizar


I uninstalled the driver, and then re-installed from the location that Sysprep would be using. This seemed to reset whatever it was Sysprep was drawing its location information from, and it worked after I did that.

Thanks to everyone for your help!