问题标签 [wack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1956 浏览

c++ - UWP Windows-10 WACK 测试错误

我是 Windows 应用程序开发的新手。我已经构建了一个面向 Windows 10 桌面和移动平台的 C# 应用程序。我的 C# 应用调用用 C++ (c++/cx) 编写的 Windows 运行时组件。

我按照这个MSDN Link运行 WACK 测试。

我的机器上安装了Windows App Certification Kit 10.0。要运行测试,我执行Validate Store App -> Select my app from list of installed apps on the machine。我的应用程序以发布模式安装。当我运行 WACK 测试时,支持的 API 测试失败并显示以下内容:

在进一步的谷歌搜索中,我发现了这些Link-1Link-2


上述链接中可能的解决方案是卸载 KB 2976978更新并重新运行 WACK 测试MS 支持错误链接
虽然我的机器似乎没有此KB 2976978更新。
控制面板\程序\程序和功能 查看已安装的更新搜索已安装的更新似乎找不到上述更新。
我已经检查了这个:SO post正如这个 SO 帖子中提到的,即使在我的情况下,一切都可以用/ZW /EHsc /D标志 编译
我的 VS 详细信息是:

任何帮助将不胜感激。

0 投票
2 回答
635 浏览

c++ - UWP Windows-10:如何在 Store 应用程序中使用 Thread Local Storage api

我有一个针对 Windows-10 桌面和移动平台的 C# 应用程序。我的应用程序通过 c++/cx 绑定调用用 C++ 编写的 Windows 运行时组件。
我的 C++ 代码使用线程本地存储 API,例如TlsAllocTlsGetValueTlsSetValueTlsFree。当我运行 Windows 应用程序认证工具包测试(WACK 测试)时,它抱怨这些 api 在商店应用程序中不可用。

◦此应用程序类型不支持 kernel32.dll 中的 API TlsAlloc。sample.dll 调用此 API。
◦此应用程序类型不支持 kernel32.dll 中的 API TlsFree。sample.dll 调用此 API。
◦此应用程序类型不支持 kernel32.dll 中的 API TlsGetValue。sample.dll 调用此 API。
◦此应用程序类型不支持 kernel32.dll 中的 API TlsSetValue。sample.dll 调用此 API。

我看不到这些用于 Windows-10 商店应用程序的 api 的替代品。此MSDN 页面 仅讨论这些 api 在Windows Phone 8上的可用性。我找不到有关这些用于Windows-10的 api 的任何具体信息

我正在使用-DWINAPI_FAMILY=WINAPI_FAMILY_APP标志编译我的本机 C++ 库

任何建议将不胜感激

0 投票
1 回答
1296 浏览

c# - UWP 无法为 Windows 应用商店版本注册应用

我有一个针对 UWP 桌面和移动平台的 C# 应用程序。我想在将应用程序提交到商店之前运行 WACK 测试。我正在尝试按照此MSDN 页面
中提到的步骤创建应用程序包当我尝试为我的应用程序保留名称时,我收到以下错误:

尝试保留应用名称时发生意外错误

在此处输入图像描述 由于错误信息不是很有用,我对出了什么问题一无所知。
我尝试了几个不同的名称,但每次都遇到相同的错误。
我不认为我的帐户有任何问题,因为我可以使用我的凭据登录,因为我在 VS-2015 中看到此消息:“您以 xxx@yyy.com 的身份登录 Windows 应用商店”这是一个企业帐户。我团队的几个成员使用这个通用帐户代表公司注册新应用程序。
我已经检查了这个MSDN 论坛页面。我按照解决方案中提到的步骤进行操作,不幸的是,Microsoft Application Registration Portal似乎无法识别我的帐户xxx@yyy.com

0 投票
2 回答
478 浏览

c# - 当 UWP 解决方案包含 Windows 运行时组件 (C#) 时,WACK 失败

我的 UWP 应用 (C++ XAML/DirectX) 正在使用 Windows 运行时组件 (C#) (*)

Windows 应用程序证书工具包“支持的 API 测试”失败并出现错误 (**),表明我应该激活 .net 本机。如果是这种情况,我如何将 WRC 编译为本机?WRC 项目没有任何涉及 .net native 的选项,我的项目是 C++ 应用程序,它也缺少任何关于 .net native 的选项。

笔记:

  • 我的应用程序有效,包括 WRC 的功能。
  • 如果没有 WRC,我的应用程序会通过 WACK。

(*) 我使用的 WRC 是https://www.nuget.org/packages/NotificationsExtensions.Win10/

(**) 我得到的错误:

  • 此应用程序类型不支持 uwphost.dll 中的 API ExecuteAssembly。UWPShim.exe 调用此 API。
  • 此应用程序类型不支持 uwphost.dll 中的 API DllGetActivationFactory。UWPShim.exe 具有转发到此 API 的导出。
  • 此应用程序类型不支持 api-ms-win-core-synch-l1-1-0.dll 中的 API OpenSemaphore。System.Threading.dll 调用此 API。
  • 此应用程序类型不支持 api-ms-win-core-kernel32-legacy-l1-1-0.dll 中的 API CreateSemaphore。System.Threading.dll 调用此 API。

编辑:我使用 Windows 10、Visual Studio 2015 Update 3 和最新的 Windows 10 SDK(版本号为 10.0.14393.33)

0 投票
1 回答
309 浏览

c++ - UWP:Windows 运行时元数据验证上的 WACK 测试失败

我有一个针对 Windows-10 桌面平台的 C# 应用程序。C# 应用程序调用用 C++ 编写的本机组件。我的本机 C++ 代码具有 Visual C++ 组件扩展 (C++/CX)。
我正在尝试为我的应用程序运行 WACK 测试,我看到了这个错误:

发现错误:常规元数据正确性测试检测到以下错误:yyy.winmd中的重载方法XXX具有相同数量的 in 参数,但没有一个具有 DefaultOverloadAttribute 的参数。如果未修复,则恰好一种方法重载必须具有 DefaultOverloadAttribute 影响: Windows 应用商店不允许未通过 Windows 运行时元数据验证的应用。 如何修复:请确保您用于生成 Windows 运行时类型的编译器是最新的,符合 Windows 运行时规范

这曾经与 VS-2015 Update 2 一起正常工作。我今天安装了 VS-2015 Update-3,从那时起我看到了这个失败。 奇怪的是,错误报告
中提到的重载方法根本没有重载。 我已经检查了这个MSDN 页面,但找不到任何解决方案。 我的VS详情如下:

MS VS Professional 2015
版本 14.0.25425.01 更新 3
MS .NET Framework
版本 4.6.01038

我在任何地方都找不到任何 Windows 运行时规范。安装 VS Update-3 后我还需要什么额外的东西吗?

0 投票
1 回答
544 浏览

windows - 错误 0x80070005:添加磁贴失败,在 Jenkins 上运行 WACK 时出现意外错误

尝试在未安装在执行 Windows 批处理命令的 Jenkins 会话中的应用程序上运行 appcert (WACK) 时,在此处出现“错误 0x80070005:添加磁贴失败并出现意外错误”。我编写了一个简单的 C# 包装器以在提升的用户模式下调用 appcert。包装器和基本命令行在 Jenkins 之外在一个未提升的 cmd 窗口中的同一个框中工作......挠头......

0 投票
1 回答
175 浏览

wpf - 使用桌面应用转换器将 WPF 转换为 UWP 后出现 WACK 错误

我试图使用 Desktop App Converter 将我很棒的 WPF 应用程序转换为 UWP。我使用 DesktopAppConverter 成功转换了应用程序,安装在我的本地 Windows 10 机器上,并且工作起来就像一个魅力。到目前为止一切都很好。

但是,当我尝试 Windows 应用程序认证过程时,它失败并出现以下错误。

  • 此应用程序类型不支持 msvcr100.dll 中的 API _amsg_exit。
  • 此应用程序类型不支持 msvcr100.dll 中的 API _cexit。
  • 此应用程序类型不支持 msvcr100.dll 中的 API _commode。

实际上,我通过使用一些 python 代码(我没有源代码)创建的 CPP 库使用了许多基本功能。

(我猜“msvcr100.dll”是 Microsoft C++ Re-distributable Package?)

任何人都可以帮助解决这个问题吗?

0 投票
1 回答
6895 浏览

c# - 使用 UWP 从 C# 运行 EXE

我搜索了又搜索,似乎在这里撞到了一堵砖墙。我正在开发一个生成音频指纹的应用程序,以自动搜索音频数据库以获取正确的艺术家和标题并相应地重命名文件。

我的问题是,没有支持的 C# 和 UWP 库(据我所知)可以生成声学指纹。我唯一发现的是 Chromaprint,它允许我运行诸如“fpcalc.exe mymp3file.mp3 > generatedfingerprint.txt”之类的命令并将指纹抓取到文本文件中。

因此,正如您所看到的,在这里抓取指纹并不是真正的问题,问题是我无法使用传统方法(例如在 Winforms 应用程序中使用的方法)从 UWP 应用程序中运行 EXE 文件。我也无法启动命令提示符以从 UWP 执行文件,所以我无法从我的应用程序中生成指纹。

所以我的问题是,有没有人有任何解决方法。我知道,鉴于 XboxOne 支持 PowerShell,我也许可以使用 Powershell,但是如果我使用以下代码:

构建时出现以下错误:

那么有人知道我可以做些什么来从我的应用程序中启动这个 fpcalc.exe 文件吗?我实际上并不介意该应用程序是否仅支持 Windows PC 和台式机,但最终的应用程序必须能够通过 WACK 并被允许在 Microsoft Store 上使用(顺便说一句,它可以免费下载)。

在此先感谢您的帮助:)

0 投票
0 回答
213 浏览

c# - 基于 XamlNavigation 示例的 UWP 应用未通过认证

我在商店中发布了一个 UWP 应用程序,我使用基于 XamlNavigation 示例的新 UI 进行了更新。更新后的应用程序在我的开发机器 (x64) 上运行良好并通过了 WACK,但当我尝试在商店中发布以在启动时静默终止时未能通过认证。我无法在我的开发机器上重现该故障,但如果我将其侧载到另一台设备 (x64),它确实会失败。第二台设备上的远程调试在启动期间终止之前显示以下错误:

xxxxxx.exe.5472.dmp 中 0x00007FF8FAB25EAB (Windows.UI.Xaml.dll) 处的未处理异常:0xC000027B:发生应用程序内部异常(参数:0x000002473325E280、0x0000000000000003)。发生了

我正在使用 VS 2017 并使用 .NET Native 工具链进行编译。我在启动期间减少了工作量,针对不同的 Win 10 版本,甚至删除并重新加载了 VS 2017 和 Win 10 SDK,但都没有成功。希望就可能导致失败的原因提出建议?

如下所示,我尝试使用未选中的 .NET Native 进行编译,但出现以下错误:

命令 ""C:\Users\xxx.nuget\packages\microsoft.net.native.compiler\1.6.2\tools\x64\ilc\tools\Gatekeeper.exe" @"C:\Users\xxx\documents\ Visual Studio 2017\Projects\xxxx\xxxx\obj\x64\Release\ilc\intermediate\gkargs.rsp"" 退出,代码为 1000。

找不到文件“C:\Users\XXXX.nuget\packages\microsoft.net.native.compiler\1.6.2\tools\x64\ilc\lib\Facades”。

2017 年 5 月 20 日更新

如果有人感兴趣,我发现了导致失败的错误——我已经在 AppShell.xaml 文件中更改了在我的开发机器上工作但.NET 本机工具链由于某种原因不喜欢的汉堡图标(还是一个未知数)。我现在可以找到一种不同的方式来实现我的更改。此外,通过取消选中项目属性中的“为 .Net Native 启用静态分析”,可以清除 Nuget 问题。

0 投票
4 回答
1092 浏览

xamarin - 由于不支持的 API FindFirstFileEx(WACK 在本地传递)导致 UWP 应用提交失败

我有一个 UWP 项目作为我的 Xamarin.Forms 解决方案的一部分。在本地运行 Windows 应用程序证书工具包时,它可以通过,没有任何问题。

将我的应用程序提交到商店时,认证过程失败并出现以下错误:

发现错误:

支持的 API 测试检测到以下错误:

此应用程序类型不支持 api-ms-win-core-file-l1-2-0.dll 中的 API FindFirstFileEx。PInvoke.Kernel32.dll 调用此 API。

未修复时的影响:

使用不属于 Windows 应用商店应用程序的 Windows SDK 的 API 违反了 Windows 应用商店认证要求。

怎么修:

查看错误消息以识别不属于适用于 Windows 应用商店应用的 Windows SDK 的 API。请注意,在调试配置中构建或未启用 .NET Native(如果适用)的应用程序可能无法通过此测试,因为这些环境可能会引入不受支持的 API。在发布配置中重新测试您的应用,并启用 .NET Native(如果适用)。

我已验证我的应用程序在发布模式下运行,并已验证我的 UWP 构建设置:

uwp

我尝试联系 Microsoft 的聊天支持,但被重定向到输入事件报告,然后我被重定向到仅在论坛上寻求帮助或支付高级技术支持,因此我无法获得有关是否这是否是有效的失败。

根据 FindFirstFileEx ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa364419(v=vs.85).aspx ) 上找到的文档,它看起来受 Windows 桌面支持,应用商店和 Windows Phone。我的 UWP 应用提交支持桌面和移动家庭,似乎包含在此功能支持的客户端中,因此不清楚是什么导致失败。

关于从这里去哪里的任何想法?