針對 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_ ACTIVATION_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 或更新版本的電腦上,您無法啟動某些應用程式,且應用程式名稱會呈現暗灰色。
當您嘗試選取暗灰色名稱來開啟應用程式時,您可能會收到下列其中一個錯誤訊息:
應用程式名稱發生問題<。> 請連絡系統管理員以修復或重新安裝
錯誤:此應用程式無法開啟
此外,下列事件項目會記錄在 Applications and Services\Microsoft\Windows\Apps 下的 “Microsoft-Windows-TWinUI/Operational” 記錄中:
記錄名稱:Microsoft-Windows-TWinUI/Operational
來源:Microsoft-Windows-沈浸式殼層
日期: <日期>
事件標識碼:5960
工作類別: (5960)
層級:錯誤
關鍵字:
描述:
啟動應用程式Microsoft.BingNews_8wekyb3d8bbwe!適用於 Windows 的 AppexNews。 啟動合約因為套件處於狀態:已修改,因此封鎖了0x80073CFC錯誤。
原因
發生此問題的原因是已修改應用程式對應套件狀態值的登錄專案。
解決方法
警告
Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. 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&A 提供專家和 Microsoft 工程師社群中相關且及時的技術問題解答。
- 如需開發問題的社群協助,我們的 論壇和 StackOverflow。
- Windows 開發人員支援網站說明其他支持選項。