Windows

如何解決 AppxPackaging.dll(Windows 應用認證工具包)的問題?

  • March 21, 2019

我們在建構 UWP 應用程序時收到以下錯誤消息。

任務“ValidateAppxManifest”失敗。由於以下錯誤,檢索具有 CLSID {5842A140-FF9F-4166-8F5C-62F5B7B0C781} 的組件的 COM 類工廠失敗:8007045a 動態連結庫 (DLL) 初始化常式失敗。(來自 HRESULT 的異常:0x8007045A)。

{5842A140-FF9F-4166-8F5C-62F5B7B0C781} 指向 AppxPackaging.dll。系統資料庫HKEY_CLASSES_ROOT\CLSID\{5842a140-ff9f-4166-8f5c-62f5b7b0c781}\InProcServer32存在。

建構系統是一個帶有 Windows Server Core 和 Visual Studio 2017 的 docker。

我如何才能收到有關潛在問題的更多資訊?

必須安裝哪些組件才能使“Windows 應用程序認證工具包”工作?

AppxPackaging 是Windows KitsSDK 安裝的一部分。該錯誤提示缺少依賴項。

我們使用procmon(例如choco install procmon)來嘗試找出是哪個依賴項。您必須設置過濾器Path contains Appx並執行建構作業。

**注意:**如果建構作業在您描述的 Docker 容器中執行,則必須procmon在主機上執行,而不是在容器上執行。

AppxPackaging.dll程序列表在載入之前充滿了很多資訊。然後它說,AppxSip.dll在目的地中查找了a Path,但沒有找到(結果:)NAME NOT FOUND。所以我們檢查了這個dll的系統。

我們確實在 Windows Kits 子文件夾中找到了相應的文件,C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86並將此路徑添加到$env:Path環境中。然後它成功了。

引用自:https://serverfault.com/questions/959252