Sign in to follow this  
Followers 0
TheBronxBull

Sysprep + Unsigned drivers + HP DC7800

5 posts in this topic

Ok, let me run down what we're doing here. I've built a Universal Desktop image for my agency from the ground up. We have it just the way we want it. We store all of our drivers in C:\Drivers (i.e. C:\Drivers\hp\dc7800\nic) and we are deploying to roughly five or six different desktop models. I use Vernalex's SysPrep Driver Scanner to scan the C:\Drivers directory, and place the relevant values in the OemPnpDriverPath in the registry; therefore, the sysprep.inf file does not need a long list of where the drivers are located. Also, I'm using the MySysPrep hack to enable ACPI Multiprocessor.

I've successfully deployed the sysprepped image to all models (and subsequently, all drivers are installed successfully - no yellow question marks in the device manager) except the HP DC7800: for whatever reason, Sysprep will not install the Nvidia video driver, the sound driver, or the Infineon driver on this model. If I manually browse and install the drivers, they work fine - albeit the prompt that indicates the driver is unsigned. After browsing the Setupapi.log file, which maps out sysprep's processes, in C:\Windows of the HP DC7800 that does NOT work properly, I've found the following (and this particular section refers to the Nvidia video driver):

#-011 Installing section [nv_G86_0] from "c:\drivers\hp\7800\nvidia quadro nvs 290\oem50.inf".

#E358 An unsigned or incorrectly signed file "c:\drivers\hp\7800\nvidia quadro nvs 290\oem50.inf" for driver "NVIDIA Quadro NVS 290" blocked (server install). Error 0xe000022f: The third-party INF does not contain digital signature information.

#E122 Device install failed. Error 0xe000022f: The third-party INF does not contain digital signature information.

#E157 Default installer failed. Error 0xe000022f: The third-party INF does not contain digital signature information.

[2011/05/03 08:07:40 488.73 Driver Install]

After browsing the Setupapi.log file of a DC7800 that was set up using our standalone DC7800 image (non-universal) that seems to install the same driver properly, I see this:

#I022 Found "PCI\VEN_10DE&DEV_042F&SUBSYS_049210DE" in C:\WINDOWS\inf\oem50.inf; Device: "NVIDIA Quadro NVS 290"; Driver: "NVIDIA Quadro NVS 290"; Provider: "NVIDIA"; Mfg: "NVIDIA"; Section name: "nv_G86_0".

#I023 Actual install section: [nv_G86_0]. Rank: 0x00000001. Effective driver date: 08/27/2007.

#-166 Device install function: DIF_SELECTBESTCOMPATDRV.

#I063 Selected driver installs from section [nv_G86_0] in "c:\windows\inf\oem50.inf".

Clearly, the one that's working properly is pulling the oem50.inf driver file from the C:\Windows\inf directory, as opposed to the Universal setup where I have it set to pull from my driver stash at C:\Drivers - but the problem is, I don't see any of the oem inf files in that directory on the universal test box. Why would Sysprep trust the file when it's coming from that directory, but not my driver stash? (Update: further testing says that location is irrelevant) I've verified that the DriverSigningPolicy=ignore line is in the sysprep.inf file; I've verified that the driver signing options on the local PC are set to ignore (which probably doesn't matter anyways); I've gone into gpedit.msc and verified that "Devices: Unsigned Driver Installation" is set to "Silently Succeed;" I've tried extracting the drivers using Driver Magician from the working standalone DC7800 image - they are identical to the one's I'm feeding it in the driver stash; I've tried downloading replacement drivers from the HP website - no cigar; I have not yet tried, but also read that it should not be needed - the sysprep.exe -pnp command line switch (plug and play).

My sysprep.inf file looks like so:

;SetupMgrTag

[unattended]

OemSkipEula=Yes

DriverSigningPolicy=Ignore

TargetPath=\WINDOWS

InstallFilesPath=C:\sysprep\i386

[GuiUnattended]

EncryptedAdminPassword=NO

OEMSkipRegional=1

OEMDuplicatorstring="XXXXXX XP Universal Desktop 4_26_11"

TimeZone=35

OemSkipWelcome=1

AdminPassword="************"

AutoLogon=Yes

AutoLogonCount=1

[userData]

ProductKey=************************************

FullName="*******************************"

OrgName="******************************"

[Display]

BitsPerPel=32

Xresolution=1280

YResolution=1024

Vrefresh=60

[TapiLocation]

CountryCode=1

Dialing=Tone

[RegionalSettings]

LanguageGroup=1

[identification]

JoinDomain=******

[Networking]

InstallDefaultComponents=Yes

[branding]

BrandIEUsingUnattended=Yes

[Proxy]

Proxy_Enable=0

Use_Same_Proxy=0

[GuiRunOnce]

Command0="C:\Progra~1\_SetSpeed\SetSpeedDuplex.exe /log=false /SPEED=100FULL /REBOOT=FALSE"

Command0="C:\Drivers\Dell\WOL PXE Fix\dellfix.exe"

Command1="%systemroot%\system32\postsysprep.exe /s"

[sysprep]

BuildMassStorageSection=yes

[sysprepMassStorage]

Thanks in advance for any assistance!

Edited by TheBronxBull
0

Share this post


Link to post
Share on other sites

You failed to mention the OS you are making this image of...

0

Share this post


Link to post
Share on other sites

You failed to mention the OS you are making this image of...

XP.

Update...

I tested the same image using the sysprep.exe -pnp command line switch - and it worked. That said, doing so adds roughly 4-5 minutes to the mini-setup process; multiple sources also state that you shouldn't need to use the 'plug and play' switch, as it's meant for older hardware.

But since it worked... I want to find out why it worked. The setupapi.log reveals that it's using the same drivers that were failing in my "non-pnp" image, and even though they were unsigned, they had no issues being installed by sysprep:

#I022 Found "PCI\VEN_10DE&DEV_042F&SUBSYS_049210DE" in c:\drivers\hp\7800\nvidia quadro nvs 290\oem50.inf; Device: "NVIDIA Quadro NVS 290"; Driver: "NVIDIA Quadro NVS 290"; Provider: "NVIDIA"; Mfg: "NVIDIA"; Section name: "nv_G86_0".

#I087 Driver node not trusted, rank changed from 0x00000001 to 0x0000c001.

#I023 Actual install section: [nv_G86_0]. Rank: 0x0000c001. Effective driver date: 08/27/2007.

#-166 Device install function: DIF_SELECTBESTCOMPATDRV.

#I063 Selected driver installs from section [nv_G86_0] in "c:\drivers\hp\7800\nvidia quadro nvs 290\oem50.inf".

#I320 Class GUID of device remains: {4D36E968-E325-11CE-BFC1-08002BE10318}.

#I060 Set selected driver.

#I058 Selected best compatible driver.

Can somebody enlighten me? :whistle:

Edited by TheBronxBull
0

Share this post


Link to post
Share on other sites

And the answer is.........

UpdateInstalledDrivers=yes

Put this line in the [unattended] section of the Sysprep.inf file; after doing so, all drivers seem in install successfully on the DC7800. I believe it has something to do with the Windows plug and play drivers.. and the location C:\Windows\Driver Cache\i386. :hello:

0

Share this post


Link to post
Share on other sites

You were largely talking to yourself here as you solved your issues, but you may have helped me solve some of mine. Thanks for posting.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.