如何解決 AppxPackaging.dll(Windows 應用認證工具包)的問題?
我們在建構 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 Kits
SDK 安裝的一部分。該錯誤提示缺少依賴項。我們使用
procmon
(例如choco install procmon
)來嘗試找出是哪個依賴項。您必須設置過濾器Path contains Appx
並執行建構作業。**注意:**如果建構作業在您描述的 Docker 容器中執行,則必須
procmon
在主機上執行,而不是在容器上執行。
AppxPackaging.dll
程序列表在載入之前充滿了很多資訊。然後它說,AppxSip.dll
在目的地中查找了aPath
,但沒有找到(結果:)NAME NOT FOUND
。所以我們檢查了這個dll的系統。我們確實在 Windows Kits 子文件夾中找到了相應的文件,
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86
並將此路徑添加到$env:Path
環境中。然後它成功了。