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.

 

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.

 

 

 

 

 

 

 

 

EDIT: 1/22/21 

version 1.6 of the CMSL has some new options that can be used to find these packs. 

-Category UWPPack 

-Category Driverpack 

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-Softpaqlist function to find and download the needed softpaqs:

Get-softpaqlist -platform xxxx (or blank) -category Manageability

 

 

 

 

 

 

 

 

 

 

 

 

 

Get-softpaqlist -platform xxxx (or blank) -category Driverpack

 

 

 

 

 

 

 

 

 

 

 

 

 

Then use Get-Softpaq with the softpaq numbers returned to download the files 

Get-softpaq SP110181

Get-softpaq SP110120

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.

Have all the manageability packs been deleted? "Get-SoftpaqList -Platform 8724 -Category manageability" and "Get-SoftpaqList -Platform 8723 -Category manageability " return blank, however "Get-SoftpaqList -Platform 8724 -Category Driverpack", returns sp110847, and "Get-SoftpaqList -Platform 8723 -Category manageability " did return SP110956 in December 2020, now it's not returning anything.

Thank you for this great article. I followed this article and it's working for some UWP apps. But the app I needed to install from the MECM Task Sequence is the HP Programmable Key UWP app. That UWP app is not available when I logon with a user after the Task Sequence is finished. Does anyone know why?

RE: Have all the manageability packs been deleted? "Get-SoftpaqList -Platform 8724 -Category manageability" and "Get-SoftpaqList -Platform 8723 -Category manageability " return blank, however "Get-SoftpaqList -Platform 8724 -Category Driverpack", returns sp110847, and "Get-SoftpaqList -Platform 8723 -Category manageability " did return SP110956 in December 2020, now it's not returning anything. Not sure what is going on here, i'll ask the test team RE:Thank you for this great article. I followed this article and it's working for some UWP apps. But the app I needed to install from the MECM Task Sequence is the HP Programmable Key UWP app. That UWP app is not available when I logon with a user after the Task Sequence is finished. Does anyone know why? Which platform?

@tevejb the nwe CMSL has a specific call for UWP pack -category uwppack and a separate category for driver pack -category driverpack. I need to update the article. Thank you

RE: Thank you for this great article. I followed this article and it's working for some UWP apps. But the app I needed to install from the MECM Task Sequence is the HP Programmable Key UWP app. That UWP app is not available when I logon with a user after the Task Sequence is finished. Does anyone know why? Which platform? Windows 10 Enterprise build 1909 on a HP Elitebook 850 G7. Some other UWP apps are working fine, like NVidia Control Panel, Intel Control Panel and HP System Information.

Has anyone a solution for the HP Programmable Key to install the uwp application from the Task Sequence OSD?

@mark.klomp do you have the driver pack to inject the .inf files required? Programable key will also require the hp application enabling driver from the associated driver pack. Let me know and i'll ask the test team.

@nkofahl I have checked the driver and the answer is yes, the driver is injected. It looks like the UWP Application is located in the folder "C:\Program Files\WindowsApps\DeletedAllUserPackages". That it is uninstalled during first user log on.

Are the UWP apps in this post downloaded/imported when using MIK? There is a second "new" screen in later versions of MIK when downloading/importing. After the driver package screen, there is a "create software package(s)" screen. Is that software the UWP apps? Equivalent traditional installers? Extras? If not UWP apps, should this software also be downloaded, imported, injected in addition to the driver pack and UWP apps?

I'm also interested in when the support for UWP apps in HP MIK will be integrated? With the current version 4.2.0.10682 there is no option yet to create a package for UWP apps or even download the sources.

@mark.klomp: I had the same issue with the HP programmable key and Win 10 1909. I had it also on an EliteBook x360 830 G7 and a ProBook 650 G8. I did a lot of different tests and the solution in the end was to install Win10 20H2. With this build, everything works as expected.

Hi. Great article, thank you. I've been tasked with moving us to 'modern driver management' so this article is perfect. The first model I'm looking at is the 840 G7 ... the same as the article. Yet no UWP packs are available .... ??? I've tried -category Manageability and also -category UWPPack, and nothing is returned. Do HP no longer provide the UWP packs (and so is this article now obsolete) ? Thanks in advance for your advice.