Installing the new HP SUM (6.2.0) with MDT 2013

In the February 2014 release of Smart Update Manager (SUM), part of HP Service Pack for ProLiant, HP decided to change the setup behavior, and of course breaking my existing sequences for server deployments. The new SUM is available here: http://h17007.www1.hp.com/us/en/enterprise/servers/products/service_pack/spp/index.aspx and as part of their new strategy for server downloads (which sucks beyond belief), you need to register before you can download the ISO.

image

 

Changes

Prior to version 6.2.0 you run the hpsum.exe with a few command line switches. That file is now gone and replaced by hpsum.bat (!). Excuse me HP, this is 2014, not 1994.

Anyway, the hpsum.bat is just a wrapper for the new setup named hpsum_bin_x64.exe, which you find in the x64 folder of SUM.

The /express_install switch is gone and replaced by /s (or /silent), and to prevent the target server from writing back to the MDT deployment share, I recommend copying the repository to the local drive, and then use the /use_location switch. As with previous SUM version, HP don't follow any standards for exit codes either. In the HP world, exit code 1 means successful, but requires a reboot.

Shorthand, you need a wrapper, and below is one:

Ps. If you wonder why I'm using VBScript instead of my usual PowerShell scripting, it's because MDT 2013 still uses VBScript, and being able to tap into their functions is more important than re-writing everything in PowerShell.

The wrapper

Update 2014-03-12: The script has been updated to address an in issue when C:\Setup did not exist on the target machine (the script now creates it).

You can also download the script.

This wrapper copies the HP SUM to the local machine, runs the setup, and takes care of the non-standard exit codes.

<job id="Install-HPSUM">
<script language="VBScript" src="..\..\scripts\ZTIUtility.vbs"/>
<script language="VBScript"> 
 
'//----------------------------------------------------------------------------
'// Version: 1.2 - January 27, 2014 - Johan Arwidmark
'//
'// This script is provided "AS IS" with no warranties, confers no rights and 
'// is not supported by the authors or Deployment Artist. 
'//
'//----------------------------------------------------------------------------
 
'//----------------------------------------------------------------------------
'// Global constant and variable declarations
'//---------------------------------------------------------------------------- 
 
Option Explicit 
Dim iRetVal 
 
'//----------------------------------------------------------------------------
'// End declarations
'//---------------------------------------------------------------------------- 
 
'//----------------------------------------------------------------------------
'// Main routine
'//---------------------------------------------------------------------------- 
 
On Error Resume Next
iRetVal = ZTIProcess
ProcessResults iRetVal
On Error Goto 0 
 
'//---------------------------------------------------------------------------
'//
'// Function: ZTIProcess()
'//
'// Input: None
'// 
'// Return: Success - 0
'// Failure - non-zero
'//
'// Purpose: Perform main ZTI processing
'// 
'//---------------------------------------------------------------------------
 
Function ZTIProcess() 
 
    Dim sSetupFile
    Dim sArguments
    Dim sSourceFolder
    Dim sTargetFolder
     
    sSetupFile = "C:\Setup\HPSUM\x64\hpsum_bin_x64.exe"
    sArguments = "/s /use_location C:\Setup\HPSUM"
     
    oLogging.CreateEntry oUtility.ScriptName & ": Starting installation", LogTypeInfo
 
    If not oFSO.FolderExists("C:\Setup") then
        oLogging.CreateEntry oUtility.ScriptName & ": C:\Setup does not exist, creating it", LogTypeInfo
        oFSO.CreateFolder "C:\Setup"
    End if
 
    sSourceFolder = oUtility.ScriptDir & "\Source"
    sTargetFolder = "C:\Setup\HPSUM"
 
    If oFSO.FolderExists(sTargetFolder) then
        oLogging.CreateEntry oUtility.ScriptName & ": " & sTargetFolder & " already exists, aborting...", LogTypeError
        ZTIProcess = Failure
        Exit Function
    End if
 
    oFSO.CreateFolder sTargetFolder 
        oUtility.VerifyPathExists sTargetFolder
 
    oLogging.CreateEntry "Copying " & sSourceFolder & " folder to the local machine", LogTypeInfo
 
    ' Optional progess logging to the task sequence progress bar
    oLogging.ReportProgress "Copying " & sSourceFolder & " folder to the local machine", 20
 
    oFSO.CopyFolder sSourceFolder, sTargetFolder, true
         
    If not oFSO.FileExists(sSetupFile) then
        oLogging.CreateEntry oUtility.ScriptName & ": " & sSetupFile & " was not found, unable to install", LogTypeError
        ZTIProcess = Failure
        Exit Function
    End if
 
    oLogging.CreateEntry oUtility.ScriptName & ": Arguments is set to " & sArguments, LogTypeInfo        
 
    ' Optional progess logging to the task sequence progress bar
    oLogging.ReportProgress "Installing HP SUM", 60
 
    iRetVal = oUtility.RunWithHeartbeat("""" & sSetupFile & """ " & sArguments)
     
    if (iRetVal = 0) then 
        ZTIProcess = Success
    ElseIf (iRetVal = 1) then 
        ZTIProcess = Success
    ElseIf (iRetVal = 2) then 
        ZTIProcess = Success 
    ElseIf (iRetVal = 3) then 
        ZTIProcess = Success 
    ElseIf (iRetVal = 4) then 
        ZTIProcess = Success 
    Elseif (iRetVal = 5) then 
        ZTIProcess = Success 
    Elseif (iRetVal = 3010) then 
        ZTIProcess = Success 
    Else
        ZTIProcess = Failure
    End If
    oLogging.CreateEntry oUtility.ScriptName & ": Return code from command = " & iRetVal, LogTypeInfo
    oLogging.CreateEntry oUtility.ScriptName & ": Finished installation", LogTypeInfo
 
End Function
</script>
</job>

The Application

Simply download the HP SUM 6.2.0, mount the ISO, and copy the content of the hpswpackages folder to a folder named Source in your application folder.

Tip: If you only deploy Windows Server, you can reduce the size of the swpackages folder by deleting the Linux packages. Fellow ConfigMgr guru Nickolaj Andersen, posted a nice PowerShell one-liner on his blog which I modified to work with the MDT deployment share I had.

Get-ChildItem -Path "D:\MDTProduction\Applications\HP SUM 6.2.0\Source" -Recurse -Include *.rpm, *.scexe | Remove-Item -Force

Then copy the wrapper to the root of your application, and configure the application to run the wrapper.

image
My HP SUM 6.2.0 application.
image
The root folder of the HP SUM 6.2.0 application.
image
The Source folder of the HP SUM 6.2.0 application.
image
The HP SUM 6.2.0 in the task sequence.

Happy Deployment, Johan

About the author

Johan Arwidmark

0 0 votes
Article Rating
Subscribe
Notify of
guest
12 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Admin
Admin
9 years ago

I assume you use the latest version of the script which has updates for the C:Setup folder?

If you do, and it still fails, send me an email and I can help you offline. See the "About" area for contact info.

/ Johan

pfitch
pfitch
9 years ago

Johan, Thank you for this post, it could prove to be very useful for us when deploying HP servers. I'm having difficulty in getting this working just right though and am trying to do so with version 6.3.1. I've created the directories required, put the script in the proper directory etc… but can never get this to install properly. The folder structure does get created on the server but none of the content gets copied over into the sources folder. When looking at the Install-HPSUM.log file, it shows these errors: ZTI ERROR – Unhandled error returned by Install-HPSUM: Path not… Read more »

Admin
Admin
9 years ago

Hi Saulius,

Haven't tried that (yet), so I don't now…

/ Johan

Sauliusm
Sauliusm
9 years ago

Hi

The question is not really in topic but it's about deploying SPP 🙂
As HP SUM 6.2 does not store conponent (for example hp smh) configuration info in the component itself as earlier versions did, how do you preconfigure components for later installation?

Admin
Admin
9 years ago

If there is a hpsum.exe available, sure you can use that

/ Johan

koden
koden
9 years ago

jusr run the bat file in admin mode… sorry for question.. very simple

koden
koden
9 years ago

Hi… I have just downloaded the full HPsum package.
As you wrote we normally used the hpsum.exe to install with.

same did I.

I manually started the hpsum.exe.

But what do I do now if I want to do the same in the manual way?
Is this not possible anymore?

this guide here is with script and I'm not that familiary with that 🙂

Or have I just misunderstood the guide above because ogf not perfect english understanding? 🙂

Admin
Admin
9 years ago

I have updated the script to create the C:Setup folder if it's missing on the target machine. The previous version of the script errored out ZTI ERROR – Unhandled error returned by Install-HPSUM: Path not found (76) if C:Setup was missing.

/ Johan

BarryW
BarryW
9 years ago

HI Johan, thanks for your efforts on this one! I get the same error as knabitic which shows in the event logs. It doesn't copy the files to C:SetupHPSUM to the new server that has been built. The folder doesn't even get created. This is whilst installing Server 2012 R2.

In the task sequence I set it to stop on an error but no errors pop up on the OS. This is whilst using lite-touch install. Do we have to update the source "src="…." with the path of the serverdeploymentshare? E.G "src="MDTSERVERDeploymentshare$scriptsZTIUtility.vbs"?

Admin
Admin
9 years ago

Mail me the log-file, as well as a recursive listing of C:SetupHPSUM as well as deployment shareapplicationsHP SUM 6.2.0Source folder.

You find my contact info in the blog About page.

/ Johan

knabitic
knabitic
9 years ago

I looks like you put a lot of time into this post, I just cant seem to get it to work. Any help would be great. Do I need to change anything in the script or what you are calling the wrapper? I have made no changes to the wrapper. In the log file I am seeing the following: ZTI ERROR – Unhandled error returned by Install-HPSUM: Path not found (76). Let me know if you have any ideas on what the issue is? Could it be a permission issue? I have placed the files in all the directories which… Read more »

rjakobsen
rjakobsen
9 years ago

Nice post Johan, First time I read the solution just before realizing that I had that exact problem 🙂 Guess you just saved me a couple of hours of troubleshooting


>