Delphi: правильное определение номера версии Windows 8.1 и Windows 10 (GetVersionEx)

Я разобрался почему ABTool отображает неверную версию Windows на вкладке «Система». Об этом я написал здесь.

Проблема в том, что для определения версии системы я использовал функцию GetVersionEx. А в ОС Win8.1 и выше эта функция возвращает версию ОС = 6.2.9200. Это чётко описано на этой странице MSDN, смотреть последнюю строку с пометкой *.

* For applications that have been manifested for Windows 8.1 or Windows 10. Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). To manifest your applications for Windows 8.1 or Windows 10, refer to Targeting your application for Windows.

Всё начинается с того, что необходимо создать (если не было) или изменить файл манифеста, который будет использовать или уже используется в проекте. Этим манифестом «подписывается» программа, exe-файл с целью, попросту говоря, обеспечить систему информацией о совместимости, требованиях (админ. прав, например) и пр.

Читать далее Delphi: правильное определение номера версии Windows 8.1 и Windows 10 (GetVersionEx)