對 Windows 應用程式的封裝、部署及查詢進行疑難排解

使用這些建議來針對您在封裝、部署或查詢Windows應用程式套件 (.msix/.appx) 時遇到的問題進行疑難排解。

注意

本文適用于開發人員。 如果您不是開發人員,而且正在尋找Windows應用程式安裝錯誤的說明,請參閱Windows支援

取得診斷資訊

當 API 失敗時,它會傳回描述問題的錯誤碼。 如果錯誤碼未提供足夠的資訊,您可以在詳細的事件記錄檔中找到更多診斷資訊。

若要使用事件檢視器存取封裝和部署事件記錄檔,請遵循下列步驟:

  1. 請執行下列其中一個步驟:

    • 按一下Windows功能表上的 [開始],輸入事件檢視器然後按 Enter
    • 執行 eventvwr.msc
  2. 在左側頁面中,展開事件檢視器 ([本機) >應用程式和服務記錄>Microsoft>Windows]。

  3. 檢查這些類別底下的可用記錄:

    • AppxPackagingOM>Microsoft-Windows-AppxPackaging/Operational
    • AppXDeployment-Server>Microsoft-Windows-AppXDeploymentServer/Operational

從查看 AppXDeployment-Server底下的記錄開始。 如果錯誤是由 0x80073CF0ERROR_INSTALL_OPEN_PACKAGE_FAILED所造成, 則 AppxpackagingOM 記錄中可能會有其他詳細資料。

您也可以在 PowerShell 中使用 Get-AppxLog 命令來取得前幾個記錄的事件。 下列範例會顯示與最近部署作業相關聯的記錄。

Get-Appxlog

下列範例會在個別視窗的互動式資料表中,顯示與最近部署作業相關聯的記錄。

Get-Appxlog | Out-GridView

常見的錯誤碼

下表列出一些最常見的錯誤碼。 如果您需要上述其中一個錯誤的進一步協助,或如果您遇到錯誤碼不在這份清單中,請參閱 其他說明選項

錯誤碼 描述和可能的原因
E_FILENOTFOUND 0x80070002 找不到檔案或路徑。 這可能會在 COM typelib 驗證期間發生,要求目錄的路徑實際上存在於 MSIX 套件中。
ERROR_BAD_FORMAT 0x8007000B 套件的格式不正確,而且必須重新建置或重新簽署。
如果簽署憑證主體名稱和AppxManifest.xml發行者名稱不符,您可能會收到此錯誤。
請參閱 如何使用 SignTool 簽署應用程式套件
E_INVALIDARG 0x80070057 一或多個引數無效。 如果您檢查AppXDeployment-Server事件記錄檔,並看到下列事件:「安裝套件時,系統因為下列錯誤而無法註冊 windows.repositoryExtension 擴充功能:參數不正確」。
如果資訊清單元素 DisplayName 或 Description 包含Windows防火牆不允許的字元,您可能會 | 收到此錯誤,因為因為Windows無法為套件建立 AppContainer 設定檔。 請從資訊清單中移除這些字元,並嘗試安裝套件。
ERROR_INSTALL_OPEN_
PACKAGE_FAILED
0x80073CF0 無法開啟封裝。
可能的原因:
  • 套件未經簽署。
  • 發行者名稱不符合簽署憑證主體。
  • 遺漏 file:// 前置詞,或找不到位於指定位置的套件。
如需詳細資訊,請檢查 AppxPackagingOM 事件記錄檔。
ERROR_INSTALL_PACKAGE_
NOT_FOUND
0x80073CF1 找不到套件。
移除未針對目前使用者安裝的套件時,您可能會收到此錯誤。
ERROR_INSTALL_INVALID_

0x80073CF2 套件資料無效。
ERROR_INSTALL_RESOLVE_
DEPENDENCY_FAILED
0x80073CF3 套件無法通過更新、相依性或衝突的驗證。
可能的原因:
  • 傳入的套件與安裝的套件衝突。
  • 找不到指定的套件相依性。
  • 套件不支援正確的處理器架構。
如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。
ERROR_INSTALL_OUT_
OF_DISK_SPACE
0x80073CF4 您的電腦沒有足夠的磁碟空間。 釋放一些空間,然後再試一次。
ERROR_INSTALL_NETWORK_
失敗
0x80073CF5 無法下載套件。
ERROR_INSTALL_
REGISTRATION_FAILURE
0x80073CF6 無法註冊套件。
如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。
ERROR_INSTALL_
DEREGISTRATION_EFAILURE
0x80073CF7 無法取消註冊套件。
移除套件時,您可能會收到此錯誤。
如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。
ERROR_INSTALL_CANCEL 0x80073CF8 使用者已取消安裝要求。
ERROR_INSTALL_FAILED 0x80073CF9 套件安裝失敗。 請連絡軟體廠商。
如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。
ERROR_REMOVE_FAILED 0x80073CFA 套件移除失敗。
針對套件卸載期間發生的失敗,您可能會收到此錯誤。
如需詳細資訊,請參閱 RemovePackageAsync
ERROR_PACKAGE_
ALREADY_EXISTS
0x80073CFB 已安裝所提供的套件,因此無法重新安裝該套件。
如果安裝的套件與已安裝的套件不一樣,您可能會收到此錯誤。 請注意,數位簽章也是套件的一部分。 因此,如果已重建或重新簽署套件,它就不會再與先前安裝的套件位相同。 修正此錯誤的兩個可能選項包括: (1) 遞增應用程式的版本號碼,然後重建並重新簽署套件 (2) 安裝新套件之前,請先移除系統上每個使用者的舊套件。
ERROR_NEEDS_REMEDIATION 0x80073CFC 無法啟動應用程式。 請嘗試重新安裝應用程式。
ERROR_INSTALL_
PREREQUISITE_FAILED
0x80073CFD 無法滿足指定的安裝必要條件。
ERROR_PACKAGE_
REPOSITORY_CORRUPTED
0x80073CFE 套件存放庫已損毀。
如果此登錄機碼所參考的資料夾不存在或損毀,您可能會收到此錯誤:
HKLM\Software\Microsoft\Windows < /strong>
CurrentVersion\Appx\PackageRepositoryRoot
若要從此狀態復原,請重新整理您的電腦。
ERROR_INSTALL_
POLICY_FAILURE
0x80073CFF 若要安裝此應用程式,您需要開發人員授權或已啟用側載的系統。
如果套件不符合下列其中一個需求,您可能會收到此錯誤:
  • 應用程式會在具有Windows開發人員授權的電腦上,使用 F5 在 Visual Studio 中部署。
  • 套件會以 Microsoft 簽章簽署,並部署為Windows或從Microsoft Store的一部分。
  • 套件是以受信任的簽章簽署,並安裝在具有開發人員授權的電腦上、已啟用 AllowAllTrustedApps 原則的已加入網域電腦,Windows 或已啟用 AllowAllTrustedApps 原則的側載授權的電腦。
ERROR_PACKAGE_UPDATING 0x80073D00 無法啟動應用程式,因為它目前正在更新。
ERROR_DEPLOYMENT_
BLOCKED_BY_POLICY
0x80073D01 原則會封鎖封裝部署作業。 請連絡您的系統管理員。
可能的原因:
  • 應用程式控制原則會封鎖套件部署。
  • 「允許特殊設定檔中的部署作業」原則封鎖套件部署。
其中一個可能的原因是漫遊設定檔的需求。 如需在使用者帳戶上設定漫遊使用者設定檔的相關資訊,請參閱 部署漫遊使用者設定檔。 如果您的系統上未設定任何原則,您仍會看到此錯誤,或許您已使用暫存設定檔登入。 登出並再次登入,然後再試一次作業。
ERROR_PACKAGES_IN_USE 0x80073D02 無法安裝套件,因為其修改的資源目前正在使用中。
ERROR_RECOVERY_
FILE_CORRUPT
0x80073D03 無法復原套件,因為復原所需的資料已損毀。
ERROR_INVALID_
STAGED_SIGNATURE
0x80073D04 簽章無效。 若要在開發人員模式中註冊,AppxSignature.p7x 和AppxBlockMap.xml必須有效或不應該存在。
如果您是使用 F5 搭配Visual Studio的開發人員,請確定您建置的專案目錄不包含來自舊版套件的簽章或封鎖對應檔案。
ERROR_DELETING_EXISTING_
APPLICATIONDATA_STORE_FAILED
0x80073D05 刪除套件先前現有的應用程式資料時發生錯誤。
如果 模擬器 正在執行,您可以取得此錯誤。 關閉模擬器。 例如,如果您在應用程式資料中開啟檔案 (,如果您在文字編輯器中開啟記錄檔) ,您也可以收到此錯誤。
ERROR_INSTALL_
PACKAGE_DOWNGRADE
0x80073D06 無法安裝套件,因為已安裝較高版本的此套件。
ERROR_SYSTEM_
NEEDS_REMEDIATION
0x80073D07 偵測到系統二進位檔中的錯誤。 若要修正此問題,請嘗試重新整理電腦。
ERROR_APPX_INTEGRITY_
FAILURE_EXTERNAL
0x80073D08 在系統上偵測到損毀的非Windows二進位檔。
ERROR_RESILIENCY_
FILE_CORRUPT
0x80073D09 無法繼續作業,因為復原所需的資料已損毀。
ERROR_INSTALL_FIREWALL_
SERVICE_NOT_RUNNING
0x80073D0A 無法安裝套件,因為Windows防火牆服務未執行。 啟用Windows防火牆服務,然後再試一次。
ERROR_PACKAGE_MOVE_FAILED 0x80073D0B 封裝移動作業失敗。
ERROR_INSTALL_VOLUME_
NOT_EMPTY
0x80073D0C 部署作業失敗,因為磁片區不是空的。
ERROR_INSTALL_VOLUME_
離線
0x80073D0D 部署作業失敗,因為磁片區已離線。 針對套件更新,磁片區是指所有套件版本的已安裝磁片區。
ERROR_INSTALL_VOLUME_
腐敗
0x80073D0E 部署作業失敗,因為指定的磁片區已損毀。
ERROR_NEEDS_REGISTRATION

0x80073D0F 部署作業失敗,因為必須先註冊指定的應用程式。
ERROR_INSTALL_WRONG_
PROCESSOR_ARCHITECTURE
0x80073D10 部署作業失敗,因為封裝以錯誤的處理器架構為目標。
ERROR_DEV_SIDELOAD_
LIMIT_EXCEEDED
0x80073D11 您已達到此裝置上允許的開發人員側載套件數目上限。 請卸載側載的套件,然後再試一次。
ERROR_INSTALL_OPTIONAL_
PACKAGE_REQUIRES_
MAIN_PACKAGE
0x80073D12 安裝此選擇性套件需要主要應用程式套件。 請先安裝主要套件,然後再試一次。
ERROR_PACKAGE_NOT_
SUPPORTED_ON_FILESYSTEM
0x80073D13 此檔案系統不支援此應用程式套件類型。
ERROR_PACKAGE_MOVE_
BLOCKED_BY_STREAMING
0x80073D14 封裝移動作業會遭到封鎖,直到應用程式完成串流為止。
ERROR_INSTALL_OPTIONAL_
PACKAGE_APPLICATIONID_
NOT_UNIQUE
0x80073D15 主要或另一個選擇性應用程式套件具有與這個選擇性套件相同的應用程式識別碼。 變更選擇性套件的應用程式識別碼,以避免發生衝突。
ERROR_PACKAGE_STAGING_
ONHOLD
0x80073D16 此暫存會話已保留,可讓另一個預備作業排定優先順序。
ERROR_INSTALL_INVALID_
RELATED_SET_UPDATE
0x80073D17 無法更新相關的集合,因為更新的集合無效。 相關集合中的所有套件都必須同時更新。
ERROR_INSTALL_OPTIONAL_
PACKAGE_REQUIRES_MAIN_
PACKAGE_FULLTRUST_CAPABILITY
0x80073D18 具有 FullTrust 進入點的選擇性套件需要主要套件具有 runFullTrust 功能。
ERROR_DEPLOYMENT_BLOCKED_
BY_USER_LOG_OFF
0x80073D19 因為使用者已登出,所以發生錯誤。
ERROR_PROVISION_OPTIONAL_
PACKAGE_REQUIRES_MAIN_
PACKAGE_PROVISIONED
0x80073D1A 選擇性套件布建需要也布建相依性主要套件。
ERROR_PACKAGES_REPUTATION_
CHECK_FAILED
0x80073D1B 套件失敗了 SmartScreen 信譽檢查
ERROR_PACKAGES_REPUTATION_
CHECK_TIMEDOUT
0x80073D1C SmartScreen 信譽檢查作業逾時。
ERROR_DEPLOYMENT_OPTION_
NOT_SUPPORTED
0x80073D1D 不支援目前的部署選項。
ERROR_APPINSTALLER_
ACTI加值稅ION_BLOCKED
0x80073D1E 由於此應用程式的 .appinstaller 更新設定,因此會封鎖啟用。
ERROR_REGISTRATION_FROM_
REMOTE_DRIVE_NOT_SUPPORTED
0x80073D1F 不支援遠端磁片磁碟機。 使用 \server\share 註冊遠端套件。
ERROR_APPX_RAW_
DATA_WRITE_FAILED
0x80073D20 無法處理下載的套件資料,並將下載的資料寫入磁片。
ERROR_DEPLOYMENT_BLOCKED_
BY_VOLUME_POLICY_PACKAGE
0x80073D21 部署作業已遭到封鎖,因為每個套件系列原則會限制非系統磁片區上的部署。 根據原則,此應用程式必須安裝到系統磁片磁碟機,但未設定為預設值。 在儲存體設定中,讓系統磁片磁碟機成為儲存新內容的預設位置,然後重試安裝。
ERROR_DEPLOYMENT_BLOCKED_
BY_VOLUME_POLICY_MACHINE
0x80073D22 部署作業遭到封鎖,因為整個電腦的原則會限制非系統磁片區上的部署。 根據原則,此應用程式必須安裝到系統磁片磁碟機,但未設定為預設值。 在儲存體設定中,讓系統磁片磁碟機成為預設位置以儲存新內容,然後重試安裝。
ERROR_DEPLOYMENT_BLOCKED_
BY_PROFILE_POLICY
0x80073D23 部署作業遭到封鎖,因為不允許特殊設定檔部署 (特殊設定檔是在使用者登出後捨棄變更的使用者設定檔) 。 嘗試登入不是特殊設定檔的帳戶。 您可以嘗試登出並登入目前的帳戶,或嘗試登入不同的帳戶。
ERROR_DEPLOYMENT_FAILED_
CONFLICTING_MUTABLE_PACKAGE_
目錄
0x80073D24 部署作業失敗,因為發生衝突的套件 可變套件目錄。 若要安裝此套件,請移除具有衝突可變套件目錄的現有套件。
ERROR_SINGLETON_RESOURCE_
INSTALLED_IN_ACTIVE_USER
0x80073D25 套件安裝失敗,因為已指定單一資源,而且已登入已安裝該套件的其他使用者。 請確定已安裝套件的所有作用中使用者都會登出,然後重試安裝。
ERROR_DIFFERENT_VERSION_
OF_PACKAGED_SERVICE_INSTALLED
0x80073D26 套件安裝失敗,因為已安裝不同的服務版本。 請嘗試安裝較新版本的套件。
ERROR_SERVICE_EXISTS_
AS_NON_PACKAGED_SERVICE
0x80073D27 套件安裝失敗,因為服務版本存在於 .msix/.appx 套件之外。 請連絡您的軟體廠商。
ERROR_PACKAGED_SERVICE_
REQUIRES_ADMIN_PRIVILEGES
0x80073D28 套件安裝失敗,因為需要系統管理員許可權。 請連絡系統管理員以安裝此套件。
ERROR_REDIRECTION_TO_
DEFAULT_ACCOUNT_NOT_ALLOWED
0x80073D29 套件部署失敗,因為當呼叫端說不這麼做時,作業會重新導向至預設帳戶。
ERROR_PACKAGE_LACKS_
CAPABILITY_TO_DEPLOY_ON_HOST
0x80073D2A 套件部署失敗,因為套件需要以原生方式鎖定此主機的功能。
ERROR_UNSIGNED_PACKAGE_
INVALID_CONTENT
0x80073D2B 套件部署失敗,因為其內容對未簽署的套件無效。
ERROR_UNSIGNED_PACKAGE_
INVALID_PUBLISHER_NAMESPACE
0x80073D2C 套件部署失敗,因為其發行者不在未簽署的命名空間中。
ERROR_SIGNED_PACKAGE_
INVALID_PUBLISHER_NAMESPACE
0x80073D2D 套件部署失敗,因為其發行者不在已簽署的命名空間中。
ERROR_PACKAGE_EXTERNAL_
LOCATION_NOT_ALLOWED
0x80073D2E 套件部署失敗,因為其發行者不在已簽署的命名空間中。
ERROR_INSTALL_FULLTRUST_
HOSTRUNTIME_REQUIRES_MAIN_
PACKAGE_FULLTRUST_CAPABILITY
0x80073D2F 解析為完全信任內容的套件的主機執行時間相依性,需要主要套件具有 runFullTrust 功能。
APPX_E_PACKAGING_INTERNAL 0x80080200 封裝 API 發生內部錯誤。
APPX_E_INTERLEAVING_
NOT_ALLOWED
0x80080201 套件無效,因為其內容會交錯。
APPX_E_RELATIONSHIPS_
NOT_ALLOWED
0x80080202 套件無效,因為它包含 OPC 關聯性。
APPX_E_MISSING_
REQUIRED_FILE
0x80080203 套件無效,因為它遺漏資訊清單或區塊對應,或程式碼完整性檔案存在,但簽章檔案遺失。
請確定套件未遺失其中一或多個必要檔案:
  • \AppxManifest.xml
  • \AppxBlockMap.xml
如果套件包含 \AppxMetadata\CodeIntegrity.cat,它也必須包含 \AppxSignature.p7x。
APPX_E_INVALID_MANIFEST 0x80080204 套件的AppxManifest.xml檔案無效。
APPX_E_INVALID_BLOCKMAP 0x80080205 套件的AppxBlockMap.xml檔案無效。
APPX_E_CORRUPT_CONTENT 0x80080206 無法讀取套件內容,因為它已損毀。
APPX_E_BLOCK_
HASH_INVALID
0x80080207 區塊的計算雜湊值不符合 區塊對應中儲存的值。
APPX_E_REQUESTED_
RANGE_TOO_LARGE
0x80080208 當轉譯為位元組範圍的區塊時,要求的位元組範圍超過 4 GB。
TRUST_E_NOSIGNATURE 0x800B0100 主體中沒有簽章。
如果套件未簽署或簽章無效,您可能會收到此錯誤。 封裝必須簽署才能部署。
CERT_E_UNTRUSTEDROOT 0x800B0109 已處理的憑證鏈結,但在信任提供者不信任的根憑證中終止。
請參閱 簽署套件
CERT_E_CHAINING 0x800B010A 憑證鏈結無法建置至受信任的根憑證授權單位。
請參閱 簽署套件
APPX_E_INVALID_
SIP_CLIENT_DATA
0x80080209 用來簽署封裝 的SIP_SUBJECTINFO結構未包含必要的資料
APPX_E_INVALID_
KEY_INFO
0x8008020A 用來加密或解密封裝的 APPX_KEY_INFO 結構包含不正確資料。
APPX_E_INVALID_
CONTENTGROUPMAP
0x8008020B .msix/.appx 套件的內容群組對應無效。
APPX_E_INVALID_
APPINSTALLER
0x8008020C 套件的 .appinstaller 檔案 無效。
APPX_E_DELTA_BASELINE_
VERSION_MISMATCH
0x8008020D 差異套件中的基準套件版本與要更新的基準套件中的版本不符。
APPX_E_DELTA_PACKAGE_
MISSING_FILE
0x8008020E 差異套件遺漏更新套件中的檔案。
APPX_E_INVALID_
DELTA_PACKAGE
0x8008020F 差異套件無效。
APPX_E_DELTA_APPENDED_
PACKAGE_NOT_ALLOWED
0x80080210 目前作業不允許差異附加套件。
APPX_E_INVALID_
PACKAGING_LAYOUT
0x80080211 封裝版面配置檔案無效。
APPX_E_INVALID_
PACKAGESIGNCONFIG
0x80080212 packageSignConfig 檔案無效。
APPX_E_RESOURCESPRI_
NOT_ALLOWED
0x80080213 當套件資訊清單中沒有資源元素時,不允許 resources.pri 檔案。
APPX_E_FILE_
COMPRESSION_MISMATCH
0x80080214 基準和更新套件中檔案的壓縮狀態不符。
APPX_E_INVALID_
PAYLOAD_PACKAGE_EXTENSION
0x80080215 目標為較舊平臺的承載套件不允許使用非 .appx 擴充功能。
APPX_E_INVALID_
ENCRYPTION_EXCLUSION_FILE_LIST
0x80080216 encryptionExclusionFileList 檔案無效。

應用程式不會啟動,其名稱會變暗

在執行Windows 10或更新版本的電腦上,您無法啟動某些應用程式,而應用程式名稱會呈現暗灰色。

Some application names appear dimmed in the Start menu

當您嘗試選取暗灰色名稱來開啟應用程式時,可能會收到下列其中一個錯誤訊息:

應用程式名稱> 有問題 < 。 請連絡系統管理員以修復或重新安裝
錯誤:此應用程式無法開啟

此外,下列事件專案會記錄在應用程式與服務\Microsoft\Windows\Apps底下的 「Microsoft-Windows-TWinUI/Operational」 記錄中:

記錄名稱:Microsoft-Windows-TWinUI/Operational
來源:Microsoft-Windows-Immersive-Shell
日期: <日期>
事件識別碼:5960
工作類別: (5960)
層級:錯誤
關鍵字:
描述:
應用程式啟用Microsoft.BingNews_8wekyb3d8bbwe!Windows的 AppexNews。 啟動合約遭到封鎖,因為其套件處於狀態:已修改,因此發生錯誤0x80073CFC。

原因

發生此問題的原因是修改應用程式對應封裝狀態值的登錄專案。

解決方案

警告

如果您使用登錄編輯程式或使用其他方法不正確地修改登錄,則可能會發生嚴重問題。 您可能必須重新安裝作業系統才能解決問題。 Microsoft 無法保證可以解決這些問題。 您必須自行承擔修改登錄的風險。

若要修正此問題:

  1. 啟動登錄編輯程式,然後找出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateChange\PackageList 子機碼。
  2. 若要備份子機碼資料,請以滑鼠右鍵按一下 [PackageList],選取 [ 匯出],然後將資料儲存為登錄檔。
  3. 針對事件識別碼 5960 記錄專案中列出的每個應用程式,請遵循下列步驟:
    1. 找出 PackageStatus 專案。
    2. PackageStatus 的值設定為零 (0) 。

    注意

    如果 PackageList下的應用程式沒有專案,則問題有一些其他原因。 在本文中的範例事件案例中,完整子機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateChange\PackageList\Microsoft.BingNews_8wekyb3d8bbwe!AppexNews\PackageStatus

  4. 重新啟動電腦。

取得其他說明

如果您需要進一步協助解決您在封裝、部署或查詢Windows應用程式套件時遇到的問題, (.msix/.appx) 身為開發人員,請參閱這些額外的開發人員支援資源。