Visual studio 2010 Windows应用程序认证工具包警告

Visual studio 2010 Windows应用程序认证工具包警告,visual-studio-2010,c++-cli,app-certification-kit,Visual Studio 2010,C++ Cli,App Certification Kit,我有一个为Windows7和Windows8开发的应用程序。使用C++/CLI在VS2010中开发。尝试使用Windows应用程序认证工具包进行认证时,会显示警告 Binary analyzer Warning: The binary analyzer test detected the following errors: File C:\Program Files (x86)\MyApp\msvcr100.dll has failed the ExecutableImportsCheck ch

我有一个为Windows7和Windows8开发的应用程序。使用C++/CLI在VS2010中开发。尝试使用Windows应用程序认证工具包进行认证时,会显示警告

Binary analyzer
Warning: The binary analyzer test detected the following errors:
File C:\Program Files (x86)\MyApp\msvcr100.dll has failed the ExecutableImportsCheck check.
File C:\Program Files (x86)\MyApp\msvcp100.dll has failed the ExecutableImportsCheck check.
Impact if not fixed: If the app doesn’t use the available Windows protections, it can increase the vulnerability of the customer's computer to malware.
How to fix: Apply the SAFESEH, DYNAMICBASE, and NXCOMPAT options when you link the app. 

如何从我的应用程序中避免此警告。

在项目中使用WACK是没有意义的。它用于验证WinRT应用程序,即通过应用商店发布并在Windows 8.x或Windows Phone上运行的应用程序。它们需要安全地运行在一个非常受限的沙箱中,这使得winapi的一小部分可用。出于安全、部署和功耗方面的原因,WACK验证的内容有限。像msvcr100.DLL这样的桌面DLL无法满足这些要求。这些应用程序是用另一个CRT vccorlibxxx.dll构建的

您无法使用VS2010、VS2012或更高版本构建此类应用程序。它也不能在Win7上运行。您只需停止使用该工具


更新:WACK似乎在8.1 SDK中进行了更新,以验证桌面应用程序的Windows徽标要求。这是不清楚的。从我运行appcert.exe/时显示的命令帮助判断?在提升的命令提示符中,必须首先为应用程序创建安装程序。然后,您可以使用
-apptype desktop
-setuppath yoursInstaller.exe
运行appcert,让它执行验证。一些额外的命令行选项似乎很重要,如
-appusage
。我不知道他们是什么意思


请记住,这仅在您需要Windows徽标认证时才有用。logo程序文档中应该有关于这一点的附加信息。如果你有Windows徽标程序问题,请考虑与微软联系。

但是这里说WAK(来自版本3.3)支持了WINN 8、8.1和Windows 7OK的桌面应用程序,这是模糊的。根据appcert.exe命令帮助(在提升的命令提示符中键入appcert.exe/?)判断,首先需要为程序创建安装程序。然后,必须使用-apptype desktop和-setuppath-yoursInstaller.exe选项运行appcert.exe。一些更模糊的选项似乎很重要,比如-appusage,但不确定它们的含义。从未听说过有人这样做,祝你好运:)@HansPassant——也许是因为明年Windows应用商店里流行着支持非metro应用程序。