Package Status

Wait 5 sec.

Every package has a set of status flags describing its current health and availability. These can be queried via the Package.Status property.A package may report more than one status value at a time if multiple conditions apply.Package Status GroupsThe various states fall into three groups:NeedsRemediation DependencyIssueLicenseIssueModifiedTamperedNotAvailable DataOfflineDisabledPackageOfflineServicing DeploymentInProgressNeedsRemediationStatus values in the NeedsRemediation group indicate that the package is in a bad or broken state and must be repaired before it can be used.Tampered indicates that the package contents have been modified in a manner consistent with malware. Anti-malware products typically set this status.Modified indicates that the package contents have changed for reasons other than malware (for example disk corruption or unintended administrative modification).DependencyIssue indicates that the package itself is intact, but one or more of its dependencies are unavailable or in a broken state. For example, if a Framework package is marked Tampered, any Main packages depending upon that Framework will report DependencyIssue.NotAvailableStatus values in the NotAvailable group indicate that Windows has the package installed, but it cannot be used at this time.PackageOffline indicates that the package's install location resides on removable media that is no longer present.DataOffline indicates that the user's ApplicationData for the package resides on removable media that is no longer present.Disabled indicates that the package has been explicitly disabled and should not be used. Administrators may use this to block access to a package, and complex installers may set this to temporarily disable a package during servicing operations.ServicingStatus values in the Servicing group indicate that the package is currently undergoing a deployment operation, such as servicing, repair, or update.DeploymentInProgress indicates that the package is currently participating in a deployment operation such as installation, repair, update, or removal.Checking Package StatusWindows checks a package's status before using it. For example, when activating an application, Windows verifies the package's status before activation and blocks activation if the package is not usable.The PackageStatus.VerifyIsOK() method returns false if one or more status flags are preventing usage. Individual properties can be queried to determine the specific reason(s) why the package cannot be used at this time.Get-AppxPackage surfaces this information via its Status output property, for example:PowerShellPS C:\> Get-AppxPackage *calc*Name : Microsoft.WindowsCalculator...Status : OkIf the status is not Ok, PowerShell repors one or more blocking conditions instead.