Для сертификации приложений Windows 8 существуют (среди прочего) следующие требования:
- 3.2 Ваше приложение должно быть скомпилировано с использованием флага
/SafeSEHдля обеспечения безопасной обработки исключений - 3.3 Ваше приложение должно быть скомпилировано с помощью флага
/NXCOMPAT, чтобы предотвратить выполнение данных - 3.4 Ваше приложение должно быть скомпилировано с использованием флага
/DYNAMICBASEдля рандомизации макета адресного пространства (ASLR)
Мне не удалось выяснить, как включить любой из них в С++ Builder XE.
Для /NXCOMPAT и /DYNAMICBASE можно использовать editbin.exe из VS или peflags.exe из Cygwin. Хотя я бы чувствовал себя более уверенно в возможных побочных эффектах, если бы был встроенный способ их включения.
В любом случае, я полностью потерял в отношении /SafeSEH.