Provisioning Packages

Provisioning packages are used to transform the default configuration of an off-the-shelf Windows device into the configuration an organization needs to provision the device to a user.

The provisioning package is built using the Windows Image Configuration Designer found in the Windows Automated Deployment Kit (ADK). Using this tool, administrators can build a provisioning package file that can be hosted on SharePoint, websites, email or USB keys.

The provisioning package is typically for environments that require the quick provisioning of hardware that may not be owned by the organization. It is possible to use provisioning packages to install applications, however, the application installation requirements will determine if it is a possible option in your specific scenario.

The Provisioning Package can contain a copy of the application package and it’s dependencies for installation onto the device when it is applied. Installation can be triggered by adding a USB key to the device as part of Windows setup, in the Windows Settings app or double clicking the provisioning package file.

When you install an application with a provisioning package, you need two pieces of information. First, you need the path to the *.msix or *.msixbundle file that you want to install. Second, you need to know the package family name (PackageFamilyName) to complete the process.

You can use the Get-AppPackage cmdlet (in PowerShell) to look up this value by installing the application on a test machine and then running the cmdlet.

Get-AppPackage cmdlet
Name              		: Microsoft.MicrosoftEdge.Stable
Publisher         		: CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Architecture      		: Neutral
ResourceId        		:
Version           		: 85.0.564.63
PackageFullName   	        : Microsoft.MicrosoftEdge.Stable_85.0.564.63_neutral__8wekyb3d8bbwe
InstallLocation   		: C:\Program Files\WindowsApps\Microsoft.MicrosoftEdge.Stable_85.0.564.63_neutral__8wekyb3d8bbwe
IsFramework       		: False
PackageFamilyName 	        : Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe
PublisherId       		: 8wekyb3d8bbwe
IsResourcePackage 	        : False
IsBundle          		: False
IsDevelopmentMode 	        : False
NonRemovable      		: False
IsPartiallyStaged 		: False
SignatureKind     		: Developer
Status            		: Ok

Console output of Get-AppPackage and PackageFamilyName identified

The license file and dependency packages must be specified if required, otherwise, those values are optional. In the following picture, you can see the Add an Application screen, with the required data for the application.

Add an application to a provisioning package
Add an application to a provisioning package