5.3 Provisioning to a Windows image

You can provision the MyIDClientSuite package to a Windows image, including an online image, so that it will be installed for all users. To do this, use the Add‑AppxProvisionedPackage cmdlet.

For more information, see:

docs.microsoft.com/en-us/powershell/module/dism/add-appxprovisionedpackage?view=windowsserver2019-ps

The following is an example that provisions the same packages as our example App Installer file to an online image:

Add-AppxProvisionedPackage -Online -PackagePath "\\my.server.local\Installers$\MyIDClientSuite_1.0.0.msixbundle" -OptionalPackagePath "\\my.server.local\Installers$\OptionalPackages\DSKLauncher.msix","\\my.server.local\Installers$\OptionalPackages\MCSLauncher.msix","\\my.server.local\Installers$\OptionalPackages\SSALauncher.msix","\\my.server.local\Installers$\OptionalPackages\MyCustomMyIDConfig.msix" -SkipLicense

To remove a provisioned package from an image, use the Remove-AppxProvisionedPackage cmdlet. This is slightly more complicated as, unlike Remove-AppxPackage, removing the main MyIDClientSuite package will not remove Modification Packages, including those produced by Intercede – these must be removed separately.

For more information, see:

docs.microsoft.com/en-us/powershell/module/dism/remove-appxprovisionedpackage?view=windowsserver2019-ps

The following is an example of removing the clients provisioned in the previous example, followed by the MyCustomMyIDConfig Modification Package:

# Remove the main package and packages in its related set
Remove-AppxProvisionedPackage -Online -AllUsers -PackageName $(Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like 'MyIDClientSuite'}).PackageName

# Remove the custom Modification Package
Remove-AppxProvisionedPackage -Online -AllUsers -PackageName $(Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like 'MyCustomMyIDConfig'}).PackageName

Note: Many of the additional support packages provided by Intercede have been produced as Modification Packages, and so, if provisioned in this way, would have to be removed individually as above.