Предупреждение о сертификации приложений Windows
У меня есть приложение, разработанное для Windows 7 и 8. Разработано в VS2010 с использованием C++/CLI. При попытке выполнить сертификацию с помощью Windows App Certification Kit отображается предупреждение.
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.
Как я могу избежать этого предупреждения из моего приложения.
1 ответ
Нет смысла использовать WACK в вашем проекте. Он был создан для проверки приложений WinRT, которые публикуются в Магазине и работают на Windows 8.x или Windows Phone. Они должны быть безопасны для работы в очень ограниченной песочнице, которая делает доступным очень небольшое подмножество winapi. Ограничено в целях безопасности, развертывания и энергопотребления, что проверяет WACK. Настольная DLL, такая как msvcr100.dll, не может их удовлетворить. Такие приложения создаются с помощью другого CRT, vccorlibxxx.dll
Вы не можете создать такое приложение с VS2010, VS2012 или выше требуется. Он также не может работать на Win7. Вам просто нужно прекратить использование инструмента.
Обновление: похоже, что WACK был обновлен в 8.1 SDK, чтобы также проверить требования к логотипу Windows для настольных приложений. Это неясно. Судя по справке команды, которая отображается при запуске appcert.exe /? в командной строке с повышенными привилегиями вы должны сначала создать установщик для своего приложения. Затем вы можете запустить appcert с -apptype desktop
и -setuppath yourinstaller.exe
чтобы он выполнил проверку. Некоторые дополнительные параметры командной строки, похоже, имеют значение, например -appusage
, Я не знаю, что они имеют в виду.
Помните, что это полезно только в том случае, если вам нужна сертификация Windows Logo. Об этом должна быть дополнительная информация в документации программы логотипа. Обращайтесь в Microsoft, если у вас есть вопросы по программе Windows Logo.