{"id":207,"date":"2026-07-14T09:00:29","date_gmt":"2026-07-14T16:00:29","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/insidemsix\/?p=207"},"modified":"2026-07-02T23:12:21","modified_gmt":"2026-07-03T06:12:21","slug":"package-status","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/insidemsix\/package-status\/","title":{"rendered":"Package Status"},"content":{"rendered":"<p>Every package has a set of status flags describing its current health and availability. These can be queried via the <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.package.status\">Package.Status<\/a> property.<\/p>\n<p>A package may report more than one status value at a time if multiple conditions apply.<\/p>\n<h2>Package Status Groups<\/h2>\n<p>The various states fall into three groups:<\/p>\n<ul>\n<li><strong>NeedsRemediation<\/strong> \n<ul>\n<li><code>DependencyIssue<\/code><\/li>\n<li><code>LicenseIssue<\/code><\/li>\n<li><code>Modified<\/code><\/li>\n<li><code>Tampered<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>NotAvailable<\/strong> \n<ul>\n<li><code>DataOffline<\/code><\/li>\n<li><code>Disabled<\/code><\/li>\n<li><code>PackageOffline<\/code><\/li>\n<\/ul>\n<\/li>\n<li><strong>Servicing<\/strong> \n<ul>\n<li><code>DeploymentInProgress<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>NeedsRemediation<\/h2>\n<p>Status values in the <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.needsremediation\">NeedsRemediation<\/a> group indicate that the package is in a bad or broken state and must be repaired before it can be used.<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.tampered\">Tampered<\/a> indicates that the package contents have been modified in a manner consistent with malware. Anti-malware products typically set this status.<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.modified\">Modified<\/a> indicates that the package contents have changed for reasons other than malware (for example disk corruption or unintended administrative modification).<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.dependencyissue\">DependencyIssue<\/a> 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 <strong>Tampered<\/strong>, any Main packages depending upon that Framework will report <strong>DependencyIssue<\/strong>.<\/li>\n<\/ul>\n<h2>NotAvailable<\/h2>\n<p>Status values in the <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.notavailable\">NotAvailable<\/a> group indicate that Windows has the package installed, but it cannot be used at this time.<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.packageoffline\">PackageOffline<\/a> indicates that the package&#8217;s <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.package.installedlocation\">install location<\/a> resides on removable media that is no longer present.<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.dataoffline\">DataOffline<\/a> indicates that the user&#8217;s <code>ApplicationData<\/code> for the package resides on removable media that is no longer present.<\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.disabled\">Disabled<\/a> 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.<\/li>\n<\/ul>\n<h2>Servicing<\/h2>\n<p>Status values in the <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.servicing\">Servicing<\/a> group indicate that the package is currently undergoing a deployment operation, such as servicing, repair, or update.<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.deploymentinprogress\">DeploymentInProgress<\/a> indicates that the package is currently participating in a <a href=\"https:\/\/devblogs.microsoft.com\/insidemsix\/deployment-operations-requests-and-queue\/\">deployment operation<\/a> such as installation, repair, update, or removal.<\/li>\n<\/ul>\n<h2>Checking Package Status<\/h2>\n<p>Windows checks a package&#8217;s status before using it. For example, when activating an application, Windows verifies the package&#8217;s status before activation and blocks activation if the package is not usable.<\/p>\n<p>The <a href=\"https:\/\/learn.microsoft.com\/uwp\/api\/windows.applicationmodel.packagestatus.verifyisok\">PackageStatus.VerifyIsOK()<\/a> method returns <code>false<\/code> 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.<\/p>\n<hr \/>\n<p><a href=\"https:\/\/learn.microsoft.com\/powershell\/module\/appx\/get-appxpackage\">Get-AppxPackage<\/a> surfaces this information via its Status output property, for example:<\/p>\n<pre><code class=\"powershell\">PowerShellPS C:\\&gt; Get-AppxPackage *calc*\n\nName   : Microsoft.WindowsCalculator\n...\nStatus : Ok\n<\/code><\/pre>\n<p>If the status is not <strong>Ok<\/strong>, PowerShell repors one or more blocking conditions instead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 Groups The various states fall into three groups: NeedsRemediation DependencyIssue LicenseIssue Modified Tampered NotAvailable DataOffline [&hellip;]<\/p>\n","protected":false},"author":911,"featured_media":101,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[8,9,2,18,10],"class_list":["post-207","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-msix","tag-architecture","tag-code","tag-msix","tag-powershell","tag-terminology"],"acf":[],"blog_post_summary":"<p>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 Groups The various states fall into three groups: NeedsRemediation DependencyIssue LicenseIssue Modified Tampered NotAvailable DataOffline [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/posts\/207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/users\/911"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/comments?post=207"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/posts\/207\/revisions"}],"predecessor-version":[{"id":210,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/posts\/207\/revisions\/210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/media\/101"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/media?parent=207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/categories?post=207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/insidemsix\/wp-json\/wp\/v2\/tags?post=207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}