HP UWP Application Pack Deployment in a Microsoft Endpoint Configuration Manager OS Deployment Task

With the move to the DCHU driver model many of the typical tray applications have migrated to a Universal Windows Platform (UWP) application. These applications are typically installed from the Windows Store into a specific user profile. However, in environments where the Windows Store is blocked or IT needs to deploy these applications as part of a bare metal OS deployment task, a different installation method is required. HP is introducing UWP application pack that is designed to complement the HP platform driver pack to make OS deployment easier for IT administrators.


The UWP application pack contains all the hardware enabling applications needed to deploy a system. This pack is designed, and tested, to work with a specific driver package. These two items should be deployed together. The UWP application pack may also contain the complementary UWP applications for drivers and/or hardware enabling software that is not included in the driver package. These drivers and/or software package may not be included as a space saving measure or because they cannot be installed via inf files.

 

This guide will detail the process of setting up a Microsoft Endpoint Configuration Manager (MECM) task sequence to take advantage of these two deliverables. The method detailed in this guide will leverage nested task sequences, driver packages in legacy software packages, and the win32_baseboard product value for targeting. Lastly, the hardware platform targeted in this guide is the HP EliteBook 840 G7. While the steps are specific to this hardware, the concepts are reusable across all platforms that have a UWP application pack available. This list is expected to grow.

 

Downloads

  1. SP104372.exe HP Elite/ZBook 8x0 G7 Win 10x64 Driver Pack 
  2. SP103844.exe HP Elite/Zbook 8x0 G7 Win 10x64 UWP Pack

Obtain Softpaqs

The easiest way to obtain these softpaqs is to leverage the HP Client Management Script Library (HPCMSL). The HPCMSL is a PowerShell toolbox that IT administrators can leverage to make common tasks easier. To install the HPCMSL open a PowerShell prompt as administrator and run the command:

Install-Module HPCMSL -AcceptLicense

Note: Review HP Client Management Script Library license here.

 

 

 

 

 

 

 

 

 

Note: the inbox powershellget module may need an update for the HPCMSL to properly install.  This can be accomplished via the command:

Install-Module Powershellget -force

Once HPCMSL is installed you can leverage the Get-Softpaq function to download the needed softpaqs:

Get-Softpaq SP104372.exe

Get-Softpaq SP103844.exe

 

 

 

 

 

 

 

 

 

Extract Softpaqs

HP Softpaqs can be extracted silently by using the /e and /s switches. By default, this will extract the SoftPaq to the c:\swsetup directory in a subfolder that is the SoftPaq number. If you would like to modify the directory to which the SoftPaq extracts you can leverage the /f switch to provide an extract directory target.

 

 

 

 

 

 

 

 


Move Files to a Microsoft Endpoint Configuration Manager Share

To make use of these files with MECM they must be copied to a shared network location. For this document, the root share is E:\share\softpaqs which maps to \\cm01\share\softpaqs. Each SoftPaq is copied into a different directory in this share location.

The driver pack is in “E:\share\softpaqs\HP EliteBook 840 G7”

The UWP application pack is in “E:\share\softpaqs\HP EliteBook 840 G7 UWP”

 

 

 

 

 

Configure the UWP Application Package

The HP UWP application package is designed to inject all the hardware enabling applications for a given set of hardware. In many cases there will be applications in this package that are not required. An example of this is the Nvidia control panel application. Nvidia graphics is an optional component that may not have been selected when a given system was purchased. In addition, because of size considerations the Nvidia driver is not included in the base driver pack.  Removing this component from the pack is as easy as deleting the folder containing this application. The folder names in the UWP package represent the components to which the applications belong.

 

 

 

 

 

 

 

 

 

 

The configuration being deployed in this example is lacking the Intel Optane SSD drive and the optional Nvidia graphics. To prevent these components from injecting simply delete those folders.

 

 

 

 

 

 

 

 

 

Create Microsoft Endpoint Configuration Manager Packages

In this section the extracted softpaqs will be turned into 2 SCCM packages and distributed to the SCCM distribution point.

 

Open the MECM console and select the Software Library. Once there expand the Application Management folder and right click Packages. Select Create Package.

 

 

 

 

 

 

 

 

 

 

Fill out the appropriate information for the HP Elite/ZBook 8x0 G7 Win 10x64 Driver Pack

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

On the Program Type screen, select do not create a program

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Confirm the settings and hit next

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Repeat this process for the UWP application pack

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Once both packages are created, right click each and select Distribute Content.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Create MECM Task Sequences for OS Deployment

This section will cover how to leverage these packages in an MECM OS deployment task sequence. To demonstrate they will be added as nested task sequences in a standard MECM OS Deployment task. This section assumes that you already have your main OS deployment task created and will not walk through those steps.

Open the MECM console and select the Software Library. Expand the Operating Systems folder and right click Task Sequences. Select Create Task Sequence.

 

 

 

 

 

 

 

In the Create Task Sequence Wizard select the Create a new custom task sequence radio button. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The first task created will be the driver pack injection task sequence. Fill out the information as desired. Do not select a boot image.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Repeat this process for the UWP application pack task.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Add the Packages to the MECM Task Sequences

Driver Pack Injection Task Sequence

Right click the driver pack injection task sequence and select Edit.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click the Add button and select New Group. Name the new group “Download Driver Packs”.

 

 

 

 

 

 

 

 

Select the download driver packs folder and click the Add button. In the Software group select Download Package Content.

 

 

 

 

 

 

 

 

 

 

 

 

Name this step “HP Elite\ZBook 8x0 G7 Win 10x64 Driver Pack”. Click the star button and select the HP Elite\ZBook 8x0 G7 Win 10x64 Driver Pack package that was create earlier. Select the Custom path radio button and enter this path:

%_SMSTSMDataPath%\Drivers

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

On the options tab click add condition. Select “If statement”. In the “If statement” properties box select “Any condition”.

 

 

 

 

 

 

 

 

Select the “If Any the conditions are true:” item and click “Add Condition”. Select “Query WMI”. The best WMI query to identify an HP system is the win32_baseboard product value. For an HP EliteBook 840 G7 this value is 8723. The WMI query to detect based on this value is:

select * from win32_baseboard where product = "8723"

Use the test query button to make sure the query has a valid syntax.

 

 

 

 

 

 

 

If the popup says the query “contains valid syntax” click ok. When finished the options tab should match this screenshot for an HP EliteBook 840 G7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click the add button and select New Group. Name this group “Inject Downloaded Drivers”

 

Select the “Inject Downloaded Drivers” group and click the add button. In the general section select Run Command Line. Name this step “Install Downloaded Drivers with DISM.”  The command line used will be:

DISM.exe /Image:%OSDTargetSystemDrive%\ /Add-Driver /Driver:%_SMSTSMDataPath%\Drivers\ /Recurse /logpath:%_SMSTSLogPath%\dism.log

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

On the options tab click Add Condition and select If statement. Leave the radio button on All conditions and click OK. Select the If All the conditions are true statement and click Add Condition. Select Folder Properties.

 

 

 

 

 

 

 

 

 

 

Copy in this folder to the path box and click OK.

%_SMSTSMDataPath%\Drivers

 

 

 

 

 

Hit Apply and OK on the driver pack injection task sequence editor window.

UWP Application Injection Task Sequence

In this section the UWP application injection task sequence will be setup that will inject the appx applications in the UWP application pack into the default profile of the image built by MECM.

Right click the UWP application pack injection task sequence and select edit.

Click the add button and select new group. Name this group “Inject UWP Applications into the Default Profile.”

Select the “Inject UWP Applications into the Default Profile” group and click the add button and in the general group select run command line. Name this step “Inject UWP Applications via DISM.” Copy in this command line: 

Install.cmd %OSDTargetSystemDrive%\

Select the package checkbox and browse to the UWP application package created earlier in this document

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

On the options tab click Add Condition. Select If Statement. In the If Statement Properties box select Any Condition.

 

 

 

 

 

 

 

 

Select the Any conditions are true item and click Add Condition. Select Query WMI. The best WMI query to identify an HP system is the win32_baseboard product value. For an HP EliteBook 840 G7 this value is 8723. The WMI query to detect based on this value is

select * from win32_baseboard where product = "8723"

Use the test query button to make sure the query has a valid syntax

 

 

 

 

 

 

 

If the popup says the query “contains valid syntax” click ok. When finished the options tab should match this screenshot for an HP EliteBook 840 G7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click apply and OK to close the UWP Application Pack Task Sequence Editor.

Add the Task Sequences to an MCEM OS Deployment Task

In this section a default MECM OS deployment task sequence will be configured to use the new driver pack injection task sequence and the UWP application package task sequence.

Right click the desired MCEM OS deployment task sequence and select edit.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Select the “Apply Device Drivers” step and on the Options tab check the “Disable this step” box.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click the Add button and in the general group select “Run Task Sequence”.

 

 

 

 

 

 

 

 

 

 

 

 

 

Click browse and select the Driver Pack Injection Task

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click the Add button and in the General group select Run Task Sequence.

 

 

 

 

 

 

 

 

 

 

 

 

 

Click browse and select the UWP Application Pack Injection Task.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click apply and OK to close the task sequence editor.

Deploy the Task Sequence to the Desired Collection

The MCEM OS Deployment task sequence is now ready for deployment to the desired device collection. This task is now configured to inject hardware enabling drivers and the UWP applications associated with these drivers.

 

Conclusion

In this guide the use of the HP UWP Application Package has been detailed for use with an MCEM OS Deployment task sequence. This new application package should make deployment of UWP applications significantly easier than previous options and will improve end user experience as they will have these applications available when they log into a system after it is built by a bare metal task. The document demonstrates this process for an HP EliteBook 840 G7, but the concepts can be applied to any HP hardware that is supported with a driver pack and UWP application pack.

 

 

Author : nkofahl

We are installing driverpacks with the step "apply driver package" and not the way you do it in this guide. I believe most organizations use the "apply driver package" with a model or baseboard query. Can we just use the steps regarding the UWP application package or do we have to inject the drivers like you describe in this guide to make this work ?

Yes that will work. There are many advantages to do the driver injection the way i outline in this post. The #1 is that it skips all the database garbage that SCCM does with drivers. #2 is that content management/clean up is far easier. However what you describe will work.

OK. Thanks for the answer. We already have 52 steps (a lot of different HP models) with "apply driver package", so converting all the steps would have taken some time. I have now created a task sequence for driver pack injection and a task sequence for UWP application injection and calls them from the main task seqeunce.