針對 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_ 包裹失敗 |
0x80073CF0 | 無法開啟套件。 可能的原因:
|
ERROR_INSTALL_PACKAGE_ NOT_FOUND |
0x80073CF1 | 找不到套件。 拿掉未為目前使用者安裝的套件時,您可能會收到此錯誤。 |
ERROR_INSTALL_INVALID_ PACKAGE |
0x80073CF2 | 封裝數據無效。 |
ERROR_INSTALL_RESOLVE_ DEPENDENCY_FAILED |
0x80073CF3 | 套件更新、相依性或衝突驗證失敗。 可能的原因:
|
ERROR_INSTALL_OUT_ OF_DISK_SPACE |
0x80073CF4 | 您的電腦上沒有足夠的磁碟空間。 釋放一些空間,然後再試一次。 |
ERROR_INSTALL_NETWORK_ 失敗 |
0x80073CF5 | 無法下載套件。 |
安裝錯誤 註冊失敗 |
0x80073CF6 | 無法註冊套件。 如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。 |
ERROR_INSTALL_ DEREGISTRATION_EFAILURE |
0x80073CF7 | 無法取消註冊套件。 移除套件時,您可能會收到此錯誤。 如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。 |
ERROR_INSTALL_CANCEL | 0x80073CF8 | 使用者已取消安裝要求。 |
安裝失敗錯誤 | 0x80073CF9 | 套件安裝失敗。 請連絡軟體廠商。 如需詳細資訊,請檢查 AppXDeployment-Server 事件記錄檔。 |
ERROR_REMOVE_FAILED | 0x80073CFA | 套件移除失敗。 針對套件卸載期間發生的失敗,您可能會收到此錯誤。 如需詳細資訊,請參閱 RemovePackageAsync。 |
ERROR_PACKAGE_ ALREADY_EXISTS |
0x80073CFB | 提供的套件已安裝,並已封鎖套件的重新安裝。 如果您安裝的套件與已經安裝的套件在位元上不完全相同,您可能會收到此錯誤。 請注意,數字簽名也是套件的一部分。 因此,如果重新建置或重新簽名套件,它就不再與先前安裝的套件位元相同。 修正此錯誤的兩個可能選項如下:(1) 遞增應用程式的版本號碼,然後重建並重新簽署套件 (2) 在安裝新套件之前,移除系統上每個使用者的舊套件。 |
ERROR_NEEDS_REMEDIATION | 0x80073CFC | 無法啟動應用程式。 請嘗試重新安裝應用程式。 |
ERROR_INSTALL_ 前置條件失敗 |
0x80073CFD | 無法滿足指定的安裝必要條件。 |
ERROR_PACKAGE_ REPOSITORY_CORRUPTED |
0x80073CFE | 套件存放庫已損毀。 如果此登入機碼所參考的資料夾不存在或損毀,您可能會收到此錯誤: HKLM\Software\Microsoft\Windows</strong> CurrentVersion\Appx\PackageRepositoryRoot 若要從此狀態復原,請重新安裝您的電腦。 |
ERROR_INSTALL_ 政策失敗 |
0x80073CFF | 若要安裝此應用程式,您需要開發人員授權或允許側載的系統。 如果套件不符合下列其中一項需求,您可能會收到此錯誤:
|
套件更新錯誤 | 0x80073D00 | 無法啟動應用程式,因為它目前正在更新。 |
ERROR_DEPLOYMENT_ BLOCKED_BY_POLICY |
0x80073D01 | 原則會封鎖套件部署作業。 請連絡您的系統管理員。 可能的原因:
|
使用中的錯誤封包 | 0x80073D02 | 無法安裝套件,因為其修改的資源目前正在使用中。 |
錯誤復原 文件損壞 |
0x80073D03 | 無法復原套件,因為復原所需的數據已損毀。 |
ERROR_INVALID_ STAGED_SIGNATURE |
0x80073D04 | 簽章無效。 若要在開發人員模式中註冊,AppxSignature.p7x 和 AppxBlockMap.xml 必須有效或不應該存在。 如果您是使用 F5 搭配 Visual Studio 的開發人員,請確定您建置的專案目錄不包含來自舊版套件的簽章或封鎖對應檔案。 |
ERROR_DELETING_EXISTING_ APPLICATIONDATA_STORE_FAILED |
0x80073D05 | 刪除套件先前現有的應用程式數據時發生錯誤。 如果 模擬器 正在執行,可能會遇到此錯誤。 關閉模擬器。 如果在應用程式資料中開啟檔案,您也可以收到此錯誤(例如,如果您在文字編輯器中開啟記錄檔)。 |
ERROR_INSTALL_ 套件降級 |
0x80073D06 | 無法安裝套件,因為已安裝此套件的較高版本。 |
ERROR_SYSTEM_ 需要修繕 |
0x80073D07 | 偵測到系統二進位檔中的錯誤。 若要修正此問題,請嘗試重設電腦。 |
ERROR_APPX_INTEGRITY_ FAILURE_EXTERNAL |
0x80073D08 | 系統上偵測到損毀的非 Windows 二進位檔。 |
ERROR_RESILIENCY_ 檔案損壞 |
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 | 部署作業失敗,因為指定的磁碟區已損毀。 |
錯誤:需要註冊 |
0x80073D0F | 部署作業失敗,因為必須先註冊指定的應用程式。 |
ERROR_INSTALL_WRONG_ 處理器架構 |
0x80073D10 | 部署作業失敗,因為套件是以錯誤的處理器架構為目標。 |
ERROR_DEV_SIDELOAD_ 限制超過 |
0x80073D11 | 您已達到此裝置上允許的開發人員側載套件數目上限。 請卸載側載套件,然後再試一次。 |
安裝選項錯誤 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_ 暫停 |
0x80073D16 | 此階段性會話已進行,以優先處理另一個階段性作業。 |
ERROR_INSTALL_INVALID_ RELATED_SET_UPDATE |
0x80073D17 | 因為更新的集合無效,所以無法更新相關的集合。 相關集合中的所有套件都必須同時更新。 |
ERROR_INSTALL_OPTIONAL_ PACKAGE_REQUIRES_MAIN_ 完整信任的功能 |
0x80073D18 | 選用套件若具有 FullTrust 進入點,則主要套件需具備 runFullTrust 功能。 |
No improvements necessary. The translation should remain as it is:
ERROR_DEPLOYMENT_BLOCKED_ BY_USER_LOG_OFF |
0x80073D19 | 發生錯誤,因為使用者被註銷。 |
ERROR_PROVISION_OPTIONAL_ PACKAGE_REQUIRES_MAIN_ PACKAGE_PROVISIONED |
0x80073D1A | 選擇性套件的布建要求同時布建其相依的主要套件。 |
錯誤_軟體包信譽_ CHECK_FAILED |
0x80073D1B | 套件在 SmartScreen 信譽檢查中未通過。 |
ERROR_PACKAGES_REPUTATION_ CHECK_TIMEDOUT |
0x80073D1C |
SmartScreen 信譽檢查作業 逾時。 |
ERROR_DEPLOYMENT_OPTION_ 不支援 |
0x80073D1D | 不支援目前的部署選項。 |
ERROR_APPINSTALLER_ ACTIVATION_BLOCKED |
0x80073D1E | 因為這個應用程式的 .appinstaller 更新設定,導致無法啟用。 |
ERROR_REGISTRATION_FROM_ 遠端驅動器不支持 |
0x80073D1F | 不支援遠端磁碟驅動器。 使用 \server\share 註冊遠端套件。 |
ERROR_APPX_RAW_ 資料寫入失敗 |
0x80073D20 | 無法處理下載的套件數據並將其寫入磁碟。 |
錯誤:部署被阻止 BY_VOLUME_POLICY_PACKAGE |
0x80073D21 | 由於每個套件系列原則限制非系統磁碟區上的部署,所以已封鎖部署作業。 根據原則,此應用程式必須安裝到系統磁碟驅動器,但未設定為預設值。 在 [記憶體設定] 中,讓系統磁碟驅動器成為儲存新內容的預設位置,然後重試安裝。 |
ERROR_DEPLOYMENT_BLOCKED_ BY_VOLUME_POLICY_MACHINE |
0x80073D22 | 由於全域性機器政策限制在非系統磁碟區上的部署,因此部署操作被阻止。 根據原則,此應用程式必須安裝到系統磁碟驅動器,但未設定為預設值。 在 [記憶體設定] 中,讓系統磁碟驅動器成為儲存新內容的預設位置,然後重試安裝。 |
ERROR_DEPLOYMENT_BLOCKED_ BY_PROFILE_POLICY |
0x80073D23 | 部署作業遭到封鎖,因為不允許特殊配置檔部署(特殊配置檔是在使用者註銷后捨棄變更的使用者配置檔)。 請嘗試登入一個不是特殊帳戶的帳戶。 您可以嘗試註銷並重新登入目前的帳戶,或嘗試登入不同的帳戶。 |
ERROR_DEPLOYMENT_FAILED_ 衝突的可變封包 目錄 |
0x80073D24 | 部署作業失敗,因為套件 的可變套件目錄出現衝突。 若要安裝此套件,請移除具有衝突可變套件目錄的現有套件。 |
ERROR_SINGLETON_RESOURCE_ INSTALLED_IN_ACTIVE_USER |
0x80073D25 | 套件安裝失敗,因為指定了單一資源,並且已安裝該套件的另一位使用者已登入。 請確保已安裝套件的所有使用中用戶都已登出,然後再次嘗試安裝。 |
ERROR_DIFFERENT_VERSION_ 服務包已安裝 |
0x80073D26 | 套件安裝失敗,因為已安裝不同的服務版本。 請嘗試安裝較新版本的套件。 |
ERROR_SERVICE_EXISTS_ AS_NON_PACKAGED_SERVICE |
0x80073D27 | 套件安裝失敗,因為服務版本存在於 .msix/.appx 套件之外。 請連絡您的軟體廠商。 |
打包服務錯誤 需要管理員權限 |
0x80073D28 | 套件安裝失敗,因為需要系統管理員許可權。 請連絡系統管理員以安裝此套件。 |
ERROR_REDIRECTION_TO_ DEFAULT_ACCOUNT_NOT_ALLOWED |
0x80073D29 | 套件部署失敗,因為當呼叫端說不要這麼做時,作業會重新導向至預設帳戶。 |
錯誤_封包缺失_ 確保部署到主機的能力 |
0x80073D2A | 套件部署失敗,因為套件需要具備特定能力以原生支援此主機。 |
ERROR_UNSIGNED_PACKAGE_ INVALID_CONTENT |
0x80073D2B | 套件部署失敗,因為其內容對未簽署的套件無效。 |
未簽署套件錯誤_ INVALID_PUBLISHER_NAMESPACE |
0x80073D2C | 套件部署失敗,因為其發行者不在未簽署的命名空間中。 |
ERROR_SIGNED_PACKAGE_ INVALID_PUBLISHER_NAMESPACE |
0x80073D2D | 套件部署失敗,因為其發行者不在已簽署的命名空間中。 |
ERROR_PACKAGE_EXTERNAL_ 位置不允許 |
0x80073D2E | 套件部署失敗,因為其發行者不在已簽署的命名空間中。 |
FULLTRUST 安裝錯誤 HOSTRUNTIME_REQUIRES_MAIN_ PACKAGE_FULLTRUST_CAPABILITY |
0x80073D2F | 主機運行時間相依性解析為具有完全信任內容的套件,需要主要套件擁有 runFullTrust 能力。 |
APPX_E_PACKAGING_INTERNAL | 0x80080200 | 封裝 API 發生內部錯誤。 |
APPX_E_INTERLEAVING_ NOT_ALLOWED |
0x80080201 | 套件無效,因為其內容被交織在一起。 |
APPX_E_RELATIONSHIPS_ 不允許 |
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_ If translation is necessary, it could be something like: 哈希_無效 |
0x80080207 | 區塊的計算雜湊值不符合區塊對應表中儲存的值。 |
APPX_E_REQUESTED_ 範圍過大 |
0x80080208 | 當轉譯為位元組範圍的區塊時,要求的位元組範圍超過4 GB。 |
信任_E_無簽名 | 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_ 版本不匹配 |
0x8008020D | 差異套件中的基準套件版本與要更新的基準套件版本不一致。 |
APPX_E_DELTA_PACKAGE_ MISSING_FILE |
0x8008020E | 差異套件遺漏了更新後的套件中的一個檔案。 |
APPX_E_INVALID_ DELTA_PACKAGE |
0x8008020F | Delta 套件無效。 |
APPX_E_DELTA_APPENDED_ PACKAGE_NOT_ALLOWED |
0x80080210 | 目前操作不允許增量附加套件。 |
APPX_E_INVALID_ 包裝佈局 |
0x80080211 | 封裝配置檔案無效。 |
APPX_E_INVALID_ 包裝簽名配置 |
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_ 加密排除文件列表 |
0x80080216 | encryptionExclusionFileList 檔案無效。 |
應用程式未啟動,且其名稱呈現暗灰色
在執行 Windows 10 或更新版本的電腦上,您無法啟動某些應用程式,且應用程式名稱會呈現暗灰色。
當您嘗試選取暗灰色名稱來開啟應用程式時,您可能會收到下列其中一個錯誤訊息:
< 應用程式名稱>發生問題。 請連絡系統管理員以修復或重新安裝
錯誤:此應用程式無法開啟
此外,下列事件項目會記錄在 Applications and Services\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&A 由專家和Microsoft工程師組成的社群,為您的技術問題提供相關且及時的解答。
- 對於開發問題的社群協助,我們有 論壇,還有 StackOverflow。
- Windows 開發人員支援 網站說明其他支持選項。
相關主題
- 如何使用 SignTool 簽署應用程式套件
- 如何針對應用程式套件簽章錯誤進行疑難解答