Wednesday 20 June 2012

HP 3D Driveguard in SCCM Windows 7 Task Sequence

UPDATE 18/01/2014 - as of HP Driveguard version 6 the below guide will no longer work. HP have changed the package and released yet another broken installer upon us. I've figured this new version out and you can read the latest guide here:HP Driveguard 6 Guide.
 

This was a real pain, one of the last things on my "to-do" list for the build I was creating was to fix the program called HP 3D Driveguard.

This solution works with the following models/packages that I know of, others are likely supported as the same .exe files are used across different HP ranges.


2530p sp47282.exe
2540p sp53795.exe
2560p sp53795.exe
6930p sp47282.exe
8440P sp53795.exe
8460P sp53795.exe
2570p sp57318.exe
8470p sp59282.exe
9470m sp59282.exe


In the past this would have been the kind of little OEM utility I would have totally ignored,but after reading about it, the benefits are pretty clear. In a nut-shell, the software provides free-fall protection for the hard disk on supported HP systems. The HP Elitebook series motherboard is equipped with an accelerometer which providing the driver is installed, instructs the disk head to "Park" when the computer is either in free-fall or being moved around. The end result is that you have fewer disk failures, which will translate into fewer man-hours being spent recovering data, logging calls with the OEM and then rebuilding the notebook.

Now, to make this clear, there is no problem to install this software either manually or via Altiris or SCCM, the issue I'm writing about today only occurs when building the PC with an SCCM task sequence.

The software is packaged with installshield and automated installation is rather easy with just the using these switches:

sp53795.exe -s /V /qn

The installer is designed to be able to pass switches into an internal MSI file (as indicated by the /qn switch) but even this doesn't seem to work correctly as it runs in passive mode rather than full silent mode. In an SCCM task sequence this fails to install completely.

Some Installshield packages can be flaky and require logging to be enabled, so I tried enabling logging by adding the /f2 switch, but still got the same error.

After loads of different approaches including putting the switch into a batch file, installing via "run command line" I still couldn't get this working. Although the OSD task sequence doesn't halt, looking back through the logs I can see that errors occurred.
Eventually I found the way to get this working and here are the steps:
  1. Extract the .exe file with Winrar
  2. Inside the folder you will see several files:

     3. Open up the command prompt and browse to this folder, enter:

      setup.exe /extractall

This will leave you with even more files, including.... two MSI files!



    4. Now you need to create a package in SCCM with all the files inside this folder.








 5. Within this package create a program as below:




The full switch is:
msiexec /i HPMDPAI3264.msi /qn REBOOT=ReallySuppress TRANSFORMS=HPMDPAI3264.mst

     6. Lastly, add the program to your OSD task sequence.



Ensure to tick the "continue on error" check box, the program will error during the installation, I believe this is caused by the suppression of the reboot.

And that's it folks. All very easy and intuitive eh? Why didn't we know how to do this straight off the bat? For me this is just another area where SCCM seems to behave very differently than normal automated installations. There is always the option of installing this software after OSD without having to go through all of this, but let's face it - if you go to the lengths of automating a full build, why would you settle for this?
So, you finally got it working and then logged onto Windows 7 but found no resident tray-icon? It appears HP are no longer doing this, if you want to check it installed successfully, look in the Programs and Features menu in control panel.

Hopefully this information is helpful to someone, and saves them the hours it took me to figure this one out.

Andrew