MKN, я же говорил, почти все все работает на апи в NSIS - открой winver или winver2
дабы не писать - System::Call "user32:, которое уже расписано библиотеках в виде макросов для удобства.
из winver2:
Код:

!macro FUNC_GetVersionEx STRUCT_SIZE
System::Call "*$9(i${STRUCT_SIZE})"
System::Call "kernel32::GetVersionEx(ir9)i.R0"
!macroend
!macro FUNC_OSVERSIONINFOEX
System::Alloc ${OSVERSIONINFOEX_SIZE}
Pop $9
!insertmacro FUNC_GetVersionEx ${OSVERSIONINFOEX_SIZE}
${IfThen} $R0 = 0 ${|} !insertmacro FUNC_GetVersionEx ${OSVERSIONINFO_SIZE} ${|}
System::Call "*$9(i.R2, i.r0, i.r1, i.r2, i.r3, &t128.r4, &i2.r5, &i2.r6, &i2.r7, &i1.r8, &i1)"
System::Free $9
!macroend
теже яйца вид сбоку, и еще объявить штук 200 констант... так хочется в скрипте писать?
---
или подключить winver2.nsh и написать так:
Код:

${WinVersionMinor} $0
для стандартного winver:
Код:

${WinVerGetMinor} $0
а почему winver2 читай в справке. читать внимательно когда будем?
Цитата MKN:
А всё же, можно ли без библиотеки ? »
|
через реестр, но это для меня ненадежный вариант - легко циферки подправить чем угодно...
исход известен...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion