Contents
- Overview
- Deployment File Types for MSIX
- MSIX Package Installations
- Upgrades and Downgrades
- Per User Installations
- Standard User Installation
- Application Package Signing
- Using the App Installer App
- Installing App Installer App
- Application Management via App Installer App
- App Installer App from Web Sites
- Uninstall an MSIX Package using App Installer App
- Installing MSIX with PowerShell
- The Add-AppXPackage Cmdlet
- The Get-AppXPackage Cmdlet
- The Remove-AppXPackage Cmdlet
- Using Get-AppPackageManifest
- Deployment with DISM
- Offline & Online Installation
- Provisioning Packages
- MSIX and the Windows Store
- MSIX and the App Installer File
- Configuration Manager and MSIX Deployment
- Using Intune with MSIX
- VDI Meets MSIX with App Attach
- MSIX and App Center
Using Get-AppPackageManifest
The application manifest contains a great deal of metadata about the package. For example, there are times that you need to assess and understand what capabilities the application has registered with the operating system. To search the application manifest for assigned capabilities, try the following:
(Get-AppXPackage -Name "*ZuneMusic*" | Get-AppXPackageManifest).Package.Capabilities)
The Get-AppXPackageManifest cmdlet generates an array of strings with that application’s capabilities.
Capability ---------- {internetClient, privateNetworkClientServer, musicLibrary, removableStorage...} |
With a more complicated analysis, it is possible to review other elements that have an effect on user experience such as which applications have startup tasks. For example, if you need to know what applications have registered startup tasks the following bit of PowerShell will collect that information.
# List all the app startups $startuptasks = get-appxpackage -pv app | get-appxpackagemanifest | % { if ($_.package.Applications.Application. Extensions.extension.startuptask.taskid) { [pscustomobject] @ { PackageFamilyName = $app.PackageFamilyName TaskID = $_.package.Applications.Application. Extensions.extension.startuptask.taskid } } } $startuptasks
The output should list off the PackageFamilyName and the tasks that are registered.
PackageFamilyNameTaskID ----------------------- Microsoft.SkypeApp_kzf8qxf38zg5cSkypeStartup Microsoft.549981C3F5F10_8wekyb3d8bbwe CortanaStartupId SpotifyAB.SpotifyMusic_zpdnekdrzrea0 Spotify Microsoft.Todos_8wekyb3d8bbweToDoStartupId AppleInc.iTunes_nzyj5cx40ttqa {AppleMobileDeviceProcess, iTunesHelper} |
Other MSIX/AppX Cmdlets
Additional, less frequently used, PowerShell cmdlets are part of the AppX module. These include cmdlets for provisioned packages (also available using the DISM command described in the next section), and those for Volumes (the location for the MSIX/AppX packages on any given disk partition):
- Add-AppXProvisionedPackage
- Get-AppXProvisionedPackage
- Remove-AppXProvisionedPackage
- Set-AppXProvisionedDataFile
- Optimize-AppXProvisionedPackages
- Add-AppXVolume
- Get-AppxVolume
- Mount-AppXVolume
- Unmount-AppXVolume
- Remove-AppXVolume
- Set-AppXDefaultVolume