Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#3849 closed Bug (Completed)

Server 2022 @OSVersion returns WIN_2019

Reported by: anonymous Owned by: Jon
Milestone: 3.3.15.5 Component: AutoIt
Version: 3.3.15.4 Severity: None
Keywords: Cc:

Description

Server 2022 was recently released just wanted to bring it to your attention. @OSVersion tested on beta 3.3.15.4

Attachments (1)

Jpm1.png (2.2 KB ) - added by mLipok 4 years ago.
Results on Windows2022

Download all attachments as: .zip

Change History (10)

comment:1 by mLipok, 4 years ago

btw.
Can anyone test it on Windows 11 as well ?

comment:2 by J-Paul Mesnage, 4 years ago

Hi,
as I don't have access to server 2022,
can you give me the msgbox result of the following script.
For the time being the MSDN doc does not describe the corresponding value.
For Win11 perhaps we need to wait October 5th
Thanks for the help

; Dec, Int, Number Constants
Global Const $NUMBER_AUTO = 0
Global Const $NUMBER_32BIT = 1
Global Const $NUMBER_64BIT = 2
Global Const $NUMBER_DOUBLE = 3

Global Const $tagOSVERSIONINFO = 'struct;dword OSVersionInfoSize;dword MajorVersion;dword MinorVersion;dword BuildNumber;dword PlatformId;wchar CSDVersion[128];endstruct'

ConsoleWrite('Windows version: ' & _WinAPI_GetVersion() & @CRLF)

Func _WinAPI_GetVersion()
        Local $tOSVI = DllStructCreate($tagOSVERSIONINFO)
        DllStructSetData($tOSVI, 1, DllStructGetSize($tOSVI))

        Local $aCall = DllCall('kernel32.dll', 'bool', 'GetVersionExW', 'struct*', $tOSVI)
        If @error Or Not $aCall[0] Then Return SetError(@error, @extended, 0)

        MsgBox(0, "OSVERSIONINFO", "MajorVersion = " & DllStructGetData($tOSVI, "MajorVersion") & @CRLF & _
                        "MinorVersion = " & DllStructGetData($tOSVI, "MinorVersion") & @CRLF & _
                        "BuildNumber = " & DllStructGetData($tOSVI, "BuildNumber"))

        Return Number(DllStructGetData($tOSVI, "MajorVersion") & "." & DllStructGetData($tOSVI, "MinorVersion"), $NUMBER_DOUBLE)
EndFunc   ;==>_WinAPI_GetVersion
Last edited 4 years ago by mLipok (previous) (diff)

in reply to:  2 comment:3 by mLipok, 4 years ago

Replying to Jpm:

For Win11 perhaps we need to wait October 5th

Time was ticking and oops it's today.

Windows 11 gives me such results:

MajorVersion = 10
MinorVersion = 0
BuildNumber = 22000

Version 0, edited 4 years ago by mLipok (next)

comment:4 by J-Paul Mesnage, 4 years ago

Thanks for Win11
Please post the same for Server 2022

by mLipok, 4 years ago

Attachment: Jpm1.png added

Results on Windows2022

comment:6 by mLipok, 4 years ago

This was tested on:
Windows Server 2022 Datacenter Evaluation
MajorVersion = 10
MinorVersion = 0
BuildNumber = 20348

Last edited 4 years ago by mLipok (previous) (diff)

comment:7 by J-Paul Mesnage, 4 years ago

Owner: set to J-Paul Mesnage
Status: newassigned

Thanks
Fix sent to Jon

comment:8 by Jon, 4 years ago

Milestone: 3.3.15.5
Owner: changed from J-Paul Mesnage to Jon
Resolution: Completed
Status: assignedclosed

Added by revision [12627] in version: 3.3.15.5

comment:9 by mLipok, 4 years ago

For future testing purposes, I am posting a revised test script here:

#AutoIt3Wrapper_Change2CUI=y
; Dec, Int, Number Constants
Global Const $NUMBER_AUTO = 0
Global Const $NUMBER_32BIT = 1
Global Const $NUMBER_64BIT = 2
Global Const $NUMBER_DOUBLE = 3

Global Const $tagOSVERSIONINFO = "struct;dword OSVersionInfoSize;dword MajorVersion;dword MinorVersion;dword BuildNumber;dword PlatformId;wchar CSDVersion[128];endstruct"

Global $sInformation = _
                "AutoIt version: " & @AutoItVersion & @CRLF & _
                "Windows version: " & _WinAPI_GetVersion() & @CRLF & "  Build: " & @extended & @CRLF & _
                "@OSVersion: " & @OSVersion & @CRLF & _
                "@OSType: " & @OSType & @CRLF & _
                ""

ConsoleWrite($sInformation & @CRLF)
ClipPut($sInformation)

Func _WinAPI_GetVersion()
        Local $tOSVI = DllStructCreate($tagOSVERSIONINFO)
        DllStructSetData($tOSVI, 1, DllStructGetSize($tOSVI))

        Local $aCall = DllCall('kernel32.dll', 'bool', 'GetVersionExW', 'struct*', $tOSVI)
        If @error Or Not $aCall[0] Then Return SetError(@error, @extended, 0)

        MsgBox(0, "OSVERSIONINFO", "MajorVersion = " & DllStructGetData($tOSVI, "MajorVersion") & @CRLF & _
                        "MinorVersion = " & DllStructGetData($tOSVI, "MinorVersion") & @CRLF & _
                        "BuildNumber = " & DllStructGetData($tOSVI, "BuildNumber"))

        Return SetError(0, Number(DllStructGetData($tOSVI, "BuildNumber")), Number(DllStructGetData($tOSVI, "MajorVersion") & "." & DllStructGetData($tOSVI, "MinorVersion"), $NUMBER_DOUBLE))
EndFunc   ;==>_WinAPI_GetVersion

This is related to discussion from here:
https://www.autoitscript.com/forum/topic/207634-autoit-v33155-beta/?do=findComment&comment=1497796

My current results are:

AutoIt version: 3.3.15.5
Windows version: 10
	Build: 22000
@OSVersion: UNKNOWN
@OSType: WIN32_NT

Modify Ticket

Action
as closed The owner will remain Jon.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.