如何解决 AppxPackaging.dll(Windows 应用认证工具包)的问题?

如何解决 AppxPackaging.dll(Windows 应用认证工具包)的问题?

我们在构建 UWP 应用程序时收到以下错误消息。

任务“ValidateAppxManifest”失败。检索 COM 类工厂中 CLSID 为 {5842A140-FF9F-4166-8F5C-62F5B7B0C781} 的组件失败,原因是出现以下错误: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 应用认证工具包”要正常工作必须安装哪些组件?

答案1

AppxPackaging 是Windows KitsSDK 安装的一部分。错误提示缺少依赖项。

我们使用procmon(例如choco install procmon)来尝试找出那是哪个依赖项。您必须设置过滤器Path contains Appx并运行构建作业。

笔记:如果构建作业如您所述在 Docker 容器中运行,则必须procmon在主机上运行,​​而不是容器上运行。

进程列表在加载之前填充了大量信息AppxPackaging.dll。然后它指出,在目标AppxSip.dll中查找了Path,但未找到 (结果NAME NOT FOUND:)。因此,我们在系统中检查了此 dll。

我们确实在 Windows Kits 子文件夹中找到了相应的文件C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x86,并将此路径添加到环境中$env:Path。然后就成功了。

相关内容