ProLiant Servers (ML,DL,SL)
Showing results for 
Search instead for 
Did you mean: 

Firmware updates from WinPE

Occasional Contributor

Firmware updates from WinPE


I'm trying to update firmware on a DL380 G5 from a WinPE 2005 CD built as per the Scripting Toolkit, i.e. it has the HP drivers from the toolkit and WMI, HTA & WSH support, and I created and formatted a C: partition as my test scratch area. Trying to update firmware using the OnLine ROM Flash Smart Component documented in the toolkit (cpxxxxxx.exe /INSTPATH:C:\) exits with a code of zero almost immediately and the firmware doesn't update. Extracting the update first and running cpqsetup.exe displays the error:

"The software will not be installed on this system because the required hardware is not present in the system or the software/firmware doesn't apply to this system."

As the updates apply perfectly through a full 2003 installation with the PSP applied, am I right in thinking the updates require all drivers to be installed first? Is there any way to do this in WinPE? The documentation doesn't mention anything like this, it implies updates can be made directly from WinPE with just the HP drivers from the toolkit installed.

Random things I've tried:
HPSUM - failed
setupc - failed, needs IE
setting temp=c:\temp

The hwdiscovery & ifhw tools run perfectly and identify all hardware correctly.

An example update that's failing is system ROM, cp007156.exe.

Any info most appreciated.

Michael Garner_1
Honored Contributor

Re: Firmware updates from WinPE

There are two things that must be available for a firmware update to run in a WinPE environment. First, the component must be in a directory that has read/write permissions. It isn't enough to point it to a read/write directory using the instpath command-line parameter. Second, the \cpqsystem\log directory must have read-write permissions so the log file can be generated. If the log cannot be generated, the installation will fail immediately and return 0.

Hope this helps,
Michael Garner
HP PSP and Firmware CD Dev Lead
Occasional Contributor

Re: Firmware updates from WinPE


Thanks for the quick reply, much appreciated. After a bit of filemon/regmon I'm a little further forward and found the following:

1. The component was looking for riched32.dll, which wasn't in my WinPE build for some reason. Put it in System32 and got to the next stage...

2. Had to set Temp=R:\Temp (RAM Drive, also worked with C:)

At this point I could install the firmware updates manually, which is a step forward from yesterday. However, I still get the error saying the log file could not be opened, so as soon as I try and run it silent it bombs out. I guess it's trying to open the log from X:\, even after I set every variable & SystemRoot in the registry to C: (where I happened to have a full 2003 install which had the cpqsystem directory) or even R:. Can you force the update to look in a specific location?

I got the same results whether running the component from a read-only or read/write location.

We *could* just move the firmware updates till after the OS has installed as it works fine, but I'd prefer to do it at the start - guess I'm just stuck in my ways! :-)

The Scripting Toolkit documentation makes this look so easy I'm sure I must be missing something simple, any ideas anyone?!

Thanks in advance for any help,


Re: Firmware updates from WinPE

Simon, did you ever get this to work within WinPE? If so, would you be willing to share the solution?

thanks, blockhead
Occasional Contributor

Re: Firmware updates from WinPE


No, I couldn't get this working in WinPE running from CD, I suspect it needs the OS to boot from a writeable medium, i.e. USB disk. That option isn't open to me for this project so I've moved the firmware updates to after the OS install which works fine.

I'm curious to know if it works from USB so if I get a minute I'll have a go, or if someone can give a definitive answer then please post it here for people to see...