在此处获取"错误0x80070005:添加磁贴失败并出现意外错误",同时尝试在未安装在执行 Windows 批处理命令的 Jenkins 会话中的应用程序上运行 appcert (WACK)。 我编写了一个简单的 C# 包装器,用于在提升的用户模式下调用 appcert。 包装器和基本命令行在 Jenkins 之外在未提升的 cmd 窗口中的同一个盒子上工作......挠头...
"C:Program Files (x86)Windows Kits10App Certification Kitappcert.exe" reset
if %errorlevel% neq 0 exit /b %errorlevel%
"C:Program Files (x86)Windows Kits10App Certification Kitappcert.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.
我无法自己验证,但很可能下面缺少双引号的命令行是失败的原因。
"C:Program Files (x86)Windows Kits10App Certification Kitappcert.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 Kits10App Certification Kitappcert.exe" test -appxpackagepath "%WORKSPACE%UWP_0.9.%BUILD_NUMBER%.0_x86_x64_arm.appxbundle" -reportoutputpath "%WORKSPACE%wack.xml"
但是,我发现使用我最喜欢的 www 搜索引擎进行非常简单快捷的搜索页面 Windows 应用认证工具包的错误0x80070005以及许多其他页面,其中写道错误代码0x80070005字面意思是资源上的"访问被拒绝"。