Компилируется, но не уверен, что определит 2019 и 2022. Ведь мой вариант с ${IsWin2019} и ${IsWin2022} даже не компилируется, а только компилируется без них. Использую последнюю WinVer.nsh с хитхаба.
Нашел выход через реестр. Да и в этом варианте WinVer.nsh применять не нужно. Думаю, что в реестре для всех же серверных версий прописано
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Server"
Код:
Function .onInit
Var /GLOBAL Server
ReadRegStr $Server HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "InstallationType"
FunctionEnd
Section
${If} $Server == Server
; ====Running on Windows Server"
${EndIf}
SectionEnd