Link to home
Start Free TrialLog in
Avatar of FFNetAdmins
FFNetAdminsFlag for United States of America

asked on

How do you get the 'OemPNPDriversPath' to work in the sysprep.inf when using WDS 2008?

I recently built a Windows 2008 server with Windows Deployment Services so I can deploy system images to my Windows XP desktops and my Windows 2003 servers. I am having problems getting the drivers to load in my sysprep'd image for Windows XP. I have searched Experts Exchange and Google, but cannot find an answer that solves my problem.

Here are the preparation steps I took:
-Built up WDS 2008 server
-Created a boot image and set it to "create capture boot image"
-Built a Windows XP desktop (did not load audio, modem, or video drivers)
-Ran Sysprep on Windows XP desktop (chose Reseal and mini-setup)
-Performed PXE boot and captured image to server (named XPimage)
-Created the following folder structures in the server folder with the image:
  --\XPImage\$OEM$\$1\sysprep
  --\XPImage\$OEM$\$1\Drivers
-Created a sysprep.inf files wiht the contents below and placed it in the sysprep folder
-Created subdirectories for each driver in the Drivers folder then specified each path in the sysprep.inf under OemPNPDriversPath
-Formatted desktop, PXE booted it, then loaded image.

XP was successfully loaded from the image, the setup automated everything except for the computername (by design), and the drivers folder was even copied to the C:\drivers location as expected. But the devices remained unknown in device manager. It looks like everything in my sysprep.inf is doing its job except for the 'OemPNPDriversPath' and I dont know why.

Here are some things that I tried so far:
-Added and removed the 'UpdateInstalledDrivers=Yes' line from the sysprep.inf
-Added and removed the 'DriverSigningPolicy=Ignore' line from the sysprep.inf
-Recreated XP image running sysprep both with and without the "Detect non-plug and play hardware" option
-Manually loaded drivers from the Drivers directory after build was complete to verify that the drivers are correct.
-Used the following variations of the OemPNPDrivers Path:
  --OemPnPDriversPath = \Drivers\AUDIO\i8500;\Drivers\CHIPSET\i8500;\Drivers\MODEM\i8500;\Drivers\NIC\i8500;\Drivers\VIDEO\i8500
  --OemPnPDriversPath = Drivers\AUDIO\i8500;Drivers\CHIPSET\i8500;Drivers\MODEM\i8500;Drivers\NIC\i8500;Drivers\VIDEO\i8500
  --OemPnPDriversPath = C:\Drivers\AUDIO\i8500;C:\Drivers\CHIPSET\i8500;C:\Drivers\MODEM\i8500;C:\Drivers\NIC\i8500;C:\Drivers\VIDEO\i8500

Any help is greatly appreciated. Once I finally get this XP machine figured out, I plan to move on to 2003 servers and I need to make sure that my drivers will load properly on those systems, especially RAID drivers.

-------------------------SYSPREP.inf-----------------------------
;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath=C:\i386
TargetPath=\WINDOWS
OemPreinstall=Yes
UpdateInstalledDrivers=Yes
DriverSigningPolicy=Ignore
OemPnPDriversPath = \Drivers\AUDIO\i8500;\Drivers\CHIPSET\i8500;\Drivers\MODEM\i8500;\Drivers\NIC\i8500;\Drivers\VIDEO\i8500

[GuiUnattended]
    AdminPassword=xxxx
    EncryptedAdminPassword=No
    OEMSkipRegional=1
    TimeZone=20
    OemSkipWelcome=1
    AutoLogon=Yes
    AutoLogonCount=1
    OEMDuplicatorstring=Imagev1

[UserData]
    ProductKey=XXXX-XXXX-XXXX-XXXXX-XXXX
    FullName="KKCOM"
    OrgName="KKCOM"
    ComputerName=%MACHINENAME%

[TapiLocation]
    CountryCode=1
    Dialing=Tone
    AreaCode=817

[RegionalSettings]
    LanguageGroup=1

[Identification]
    JoinDomain=mydomain.com
    DomainAdmin=admin
    DomainAdminPassword=**********

[Networking]
    InstallDefaultComponents=Yes

[Branding]
    BrandIEUsingUnattended=Yes

[Proxy]
    Proxy_Enable=0
    Use_Same_Proxy=0


Avatar of barnesd1
barnesd1

OemPnPDriversPath = \Drivers\AUDIO\i8500;\Drivers\CHIPSET\i8500;\Drivers\MODEM\i8500;\Drivers\NIC\i8500;\Drivers\VIDEO\i8500
is correct but is a relative path.
The files need to be in $OEM$\$1\drivers\...
http://www.pcstats.com/articleview.cfm?articleid=1703&page=9 may help you
Avatar of FFNetAdmins

ASKER

In my image directory I am using the subdirectories of $OEM$\$1\Drivers\..
The drivers copy into the build fine, they just dont update the devices.
Any other thoughts?
http://www.msfn.org/board/OemPnPDriversPath-OemInf-t51515.html seems to cover this.  Try checking setupapi.log in the WINDOWS root folder. find the line where windows skips the installation of your driver.  A way round is to use OemInfFiles instead.

eg in WINNT.SIF
[Data]
    OemDrivers=OemInfFiles

[OemInfFiles]
    OemDriverFlags=1
    OemDriverPathName="%SystemRoot%\OemDir"
    OemInfName="nvatax64.inf"
I looked through that article, but I am not seeing what I am needing. I have looked at the setupapi.log already and it just confirms to me that the updated drivers are not being evaluated. The log just tells me that there is not a suitable driver and then the device is skipped.

My goal is to have an image in WDS for Windows XP, and whenever I get an updated driver I can just place the driver in the %OEM%/%1/Drivers directory on my WDS server in the image folder and update the sysprep.inf. But the OemPNPDriversPath does not seem to be doing anything to help the system locate the drivers.
Any other ideas out there?
ASKER CERTIFIED SOLUTION
Avatar of FFNetAdmins
FFNetAdmins
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I know this is closed, however I came across exactly this issue and could not find a solution anywhere.

So I thought I'd post this incase it helps anyone else.

I have had exactly the same issue where it just seems to ignore the OEMPNPDRIVERSPATH line.
I got around this by using the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath registry entry
see here http://support.microsoft.com/kb/254078

You can do this while the image is offline by mounting the WIM and then using the reg load command

See here http://blogs.technet.com/migreene/archive/2006/12/07/edit-the-registry-on-a-mounted-wim.aspx

I spent a ton of time looking for a solution and this is the only one I've found to work.