Как известно, MS обозначает сборки десятки одновременно номером выпуска и четырехкомпонентным номером версии (1607/10.0.14393.2214, 1703/10.0.15063.1058, 1709/10.0.16299.402 и т.п.). GetVersionInfoEx возвращает только первые три компоненты номера версии.
Рекомендаций от MS по получению номера выпуска и четвертой компоненты номера версии навскидку найти не удалось. В обсуждениях советуют брать их из ключа HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion (переменные ReleaseId и UBR).
Есть ли какие-нибудь API, возвращающие эти параметры? Или только через реестр?
И, кстати, как расшифровывается UBR? У MS опять-таки не удалось найти официального мнения, но в winnt.h есть макросы UNIFIEDBUILDREVISION_*. В обсуждениях же аббревиатуру почти поголовно расшифровывают Update Build Release или Update Build Revision, что сильно отдает бессмыслицей.