Ошибка 0x80070005: не удалось добавить плитку из-за непредвиденной ошибки при запуске WACK на Jenkins
При попытке запустить appcert (WACK) в приложении, которое НЕ установлено в сеансе Jenkins, при выполнении пакетной команды Windows получено сообщение об ошибке "0x80070005: добавление плитки завершилось с неожиданной ошибкой". Я написал простую оболочку C# для вызова appcert в режиме повышенных прав пользователя. Оболочка и базовая командная строка работают за пределами Jenkins в одном окне в невысоком окне cmd... почесывая голову...
"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcert.exe" reset
if %errorlevel% neq 0 exit /b %errorlevel%
"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcert.exe" test -appxpackagepath %WORKSPACE%\UWP_0.9.%BUILD_NUMBER%.0_x86_x64_arm.appxbundle -reportoutputpath %WORKSPACE%\wack.xml
if %errorlevel% neq 0 exit /b %errorlevel%
16:32:04 Successfully reset the testing configuration.
16:32:11 Beginning execution of task Detect app type from package.
16:32:11 Task Detect app type from package execution result was success.
16:32:11 Note: Test application type - UapApp.
16:32:11 Beginning execution of task Extract files from package.
16:32:11 Beginning execution of task Performs AppX deployment/cleanup in the IDE scenario..
16:32:11 Task Extract files from package execution result was success.
16:32:11 Root "Trusted Root Certification Authorities"
16:32:11 Signature matches Public Key
16:32:11 Related Certificates:
16:32:11
16:32:11 Exact match:
16:32:11 Element 7:
16:32:11 Serial Number: 1b659911670d2b9f436f7b922e12ed51
16:32:11 Issuer: CN=ED346674-0FA1-4272-85CE-3187C9C86E26
16:32:11 NotBefore: 1/10/2017 4:01 PM
16:32:11 NotAfter: 1/10/2018 10:01 PM
16:32:11 Subject: CN=ED346674-0FA1-4272-85CE-3187C9C86E26
16:32:11 Signature matches Public Key
16:32:11 Root Certificate: Subject matches Issuer
16:32:11 Cert Hash(sha1): 7a 5f 2f 31 7a 88 82 fd e5 12 f6 fb 2d 37 46 1f 29 ff
01 ef
16:32:11
16:32:11 Certificate "ED346674-0FA1-4272-85CE-3187C9C86E26" already in store.
16:32:11 CertUtil: -addstore command completed successfully.
16:32:11 Task Performs AppX deployment/cleanup in the IDE scenario.
execution result was failure.
16:32:11
16:32:11 error 0x80070005: Adding a tile failed with unexpected error.
1 ответ
Я не могу проверить это самостоятельно, но, скорее всего, причина ошибки в приведенной ниже командной строке с пропущенными двойными кавычками.
"C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcert.exe" test -appxpackagepath %WORKSPACE%\UWP_0.9.%BUILD_NUMBER%.0_x86_x64_arm.appxbundle -reportoutputpath %WORKSPACE%\wack.xml
Значение переменной среды WORKSPACE
упоминается дважды с %WORKSPACE%
содержит полный путь к текущей папке рабочей области текущего задания Jenkins.
И я предполагаю, что этот путь к папке содержит 1 или более пробелов, что требует правильной передачи обеих строк параметров в двойных кавычках appcert.exe
,
Для этого случая эта командная строка определенно лучше:
"%ProgramFiles(x86)%\Windows Kits\10\App Certification Kit\appcert.exe" test -appxpackagepath "%WORKSPACE%\UWP_0.9.%BUILD_NUMBER%.0_x86_x64_arm.appxbundle" -reportoutputpath "%WORKSPACE%\wack.xml"
Тем не менее, с помощью очень простого и быстрого поиска в моей любимой поисковой системе www я обнаружил страницу Ошибка 0x80070005 с Windows App Certification Kit среди многих других, где написано, что код ошибки 0x80070005 буквально означает "Отказано в доступе" на ресурсе.