Как решить проблемы с AppxPackaging.dll (Windows App Certification Kit)?
Мы получаем следующее сообщение об ошибке при создании приложения 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.
Как я могу получить больше информации по основной проблеме?
Какие компоненты должны быть установлены, чтобы "Комплект сертификации приложений для Windows" работал?
1 ответ
AppxPackaging является частью Windows Kits
установка SDK. Ошибка намекает на отсутствующую зависимость.
Мы использовали 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
среда. Тогда это сработало.