對 Windows 應用程式的封裝、部署及查詢進行疑難排解
使用這些建議來針對您在封裝、部署或查詢Windows應用程式套件 (.msix/.appx) 時遇到的問題進行疑難排解。
注意
本文適用于開發人員。 如果您不是開發人員,而且正在尋找Windows應用程式安裝錯誤的說明,請參閱Windows支援。
取得診斷資訊
當 API 失敗時,它會傳回描述問題的錯誤碼。 如果錯誤碼未提供足夠的資訊,您可以在詳細的事件記錄檔中找到更多診斷資訊。
若要使用事件檢視器存取封裝和部署事件記錄檔,請遵循下列步驟:
請執行下列其中一個步驟:
- 按一下Windows功能表上的 [開始],輸入事件檢視器,然後按 Enter。
- 執行 eventvwr.msc。
在左側頁面中,展開事件檢視器 ([本機) >應用程式和服務記錄>Microsoft>Windows]。
檢查這些類別底下的可用記錄:
- AppxPackagingOM>Microsoft-Windows-AppxPackaging/Operational
- AppXDeployment-Server>Microsoft-Windows-AppXDeploymentServer/Operational
從查看 AppXDeployment-Server底下的記錄開始。 如果錯誤是由 0x80073CF0 或 ERROR_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 | 無法開啟封裝。 可能的原因:
|
ERROR_INSTALL_PACKAGE_ NOT_FOUND |
0x80073CF1 | 找不到套件。 移除未針對目前使用者安裝的套件時,您可能會收到此錯誤。 |
ERROR_INSTALL_INVALID_ 包 |
0x80073CF2 | 套件資料無效。 |
ERROR_INSTALL_RESOLVE_ DEPENDENCY_FAILED |
0x80073CF3 | 套件無法通過更新、相依性或衝突的驗證。 可能的原因:
|
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 | 若要安裝此應用程式,您需要開發人員授權或已啟用側載的系統。 如果套件不符合下列其中一個需求,您可能會收到此錯誤:
|
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 | 套件無效,因為它遺漏資訊清單或區塊對應,或程式碼完整性檔案存在,但簽章檔案遺失。 請確定套件未遺失其中一或多個必要檔案:
|
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或更新版本的電腦上,您無法啟動某些應用程式,而應用程式名稱會呈現暗灰色。
當您嘗試選取暗灰色名稱來開啟應用程式時,可能會收到下列其中一個錯誤訊息:
應用程式名稱> 有問題 < 。 請連絡系統管理員以修復或重新安裝
錯誤:此應用程式無法開啟
此外,下列事件專案會記錄在應用程式與服務\Microsoft\Windows\Apps底下的 「Microsoft-Windows-TWinUI/Operational」 記錄中:
記錄名稱:Microsoft-Windows-TWinUI/Operational
來源:Microsoft-Windows-Immersive-Shell
日期: <日期>
事件識別碼:5960
工作類別: (5960)
層級:錯誤
關鍵字:
描述:
應用程式啟用Microsoft.BingNews_8wekyb3d8bbwe!Windows的 AppexNews。 啟動合約遭到封鎖,因為其套件處於狀態:已修改,因此發生錯誤0x80073CFC。
原因
發生此問題的原因是修改應用程式對應封裝狀態值的登錄專案。
解決方案
警告
如果您使用登錄編輯程式或使用其他方法不正確地修改登錄,則可能會發生嚴重問題。 您可能必須重新安裝作業系統才能解決問題。 Microsoft 無法保證可以解決這些問題。 您必須自行承擔修改登錄的風險。
若要修正此問題:
- 啟動登錄編輯程式,然後找出 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateChange\PackageList 子機碼。
- 若要備份子機碼資料,請以滑鼠右鍵按一下 [PackageList],選取 [ 匯出],然後將資料儲存為登錄檔。
- 針對事件識別碼 5960 記錄專案中列出的每個應用程式,請遵循下列步驟:
- 找出 PackageStatus 專案。
- 將 PackageStatus 的值設定為零 (0) 。
注意
如果 PackageList下的應用程式沒有專案,則問題有一些其他原因。 在本文中的範例事件案例中,完整子機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateChange\PackageList\Microsoft.BingNews_8wekyb3d8bbwe!AppexNews\PackageStatus
- 重新啟動電腦。
取得其他說明
如果您需要進一步協助解決您在封裝、部署或查詢Windows應用程式套件時遇到的問題, (.msix/.appx) 身為開發人員,請參閱這些額外的開發人員支援資源。
- Microsoft Q &提供 來自專家和 Microsoft 工程師社群的技術問題相關且及時的解答。
- 如需開發問題的社群協助,有我們的 論壇和 StackOverflow。
- Windows開發人員支援網站說明其他支援選項。