Windows Server 2019 version info

Copper Contributor

Preliminary tests have revealed that the version of 'kernel32.dll' found on our
current preview build Windows Server 2019 system is of the form '10.0.x.x'.
Hence, it would appear that the major/minor version numbers have not changed, at
least not as of yet, from those for Windows Server 2016.
Checking the version of 'kernel32.dll' is the method suggested within the
Microsoft docs that we use in order to determine the OS version.

Will the version numbers be updated when goes production? If so, can you tell us what those version numbers will be ? Thanks, Rob

17 Replies

Major and Minor numbers have remained static since the inception of Windows 10. They did not change for Windows Server 2016 and are not expected to change for the next version of Windows Server. For Semi-Annual Channel releases, the branding itself will tell you the version, i.e., Windows Server, version 1803. That same version number is stored here: Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId

On Server 2019 Standard Edition build 17733, the ReleaseId field from 

 "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" shows 1803.


On Server 2019 Datacenter Edition build 17744, the ReleaseId field shows 1809.


On Server 2016 Standard Edition Build 14393, the ReleaseId field shows 1607.


Does this mean that ReleaseId values 1803 and above will indicate that Server 2019 is present?


1809 is associated with Windows Server 2019 and Windows Server, version 1809 only. This number  represents the approximate YYMM of the final build, and is usually released to customers in the following month.  The Semi-Annual channel releases come out every 6 months or so and you will see this number change in the branding, i.e., Windows Server, version 1709 (1803, 1809, etc.) 


While we are developing the next release, the previous version number may still be present for some time in preview builds for vNext. The version number is usually not updated on previews until we get closer to the final build and are certain when we will be releasing it. Does that help?

Thanks Mary.


My concern is the ReleaseId value for Server 2016 would be changed to a value above the current 1607. That is, new updates to Server 2016 this year or next year would be 18xx or 19xx. Is this the case? If so, then I can't assume that a ReleaseId value of less than 1803 will indicate that Server 2016 is present.

Or, is this ReleaseId value for Server 2016 fixed no matter how many Server 2016 updates occur?

Windows Server 2016 will always be 1607. Once a product is released, that ID will not change.

Thanks Mary.


  we use the function GetVersionEx to determine the version.

  What is the different in Osversioninfoex between Server 2016 and 2019 ?



Hi Mike


I have the same issue how would you determine the standard release version using Microsoft Docs . Currently we are using OSVersionInfoex to determine the windows server and now what I am trying to is if  we first determine the major and minor version if the major version is 10 and minor version is 0 and osvi.wProductType != VER_NT_WORKSTATION and then if osvi.dwBuildNumber >= 17633 then  we are going determine that as windows 2019 else it would be windows 2016 will that work ?. Your response would be highly appreciated

To determine if Server 2016 or Server 2019 is present, I read the Windows Registry key that Mary Hoffman suggested back on 08-22-2018. As for using the Build Number, Mary would need to confirm if this would work as well.


 Hope this helps!


The ReleaseID value for Server 2016 was 1607. For Server 2019, it was 1809. Having said that, this early in the preview cycle for VNext, the ReleaseID located at hklm:\software\microsoft\windows\windows NT\CurrentVersion" -Name ReleaseID has not yet been updated for vNext and previews will still have the value "1809". The final build of Windows Server 2019 was 17763. For now,  it is safe to assume that any major build number greater than 17763 is a preview for vNext.

But is it safe to assume any build number greater than 17633 that is not VER_NT_WORKSTATION is server 2019?

Windows Server 2019 stops at 17763. That was the final major build number. 

Anything higher than that (>=17764) will be vNext builds.

Thus, the build number of Windows Server 2016 is always 14393, and any new update for it will be only change revision number, such the version format should be 10.0.14393.***?


And the build number of Windows Server 2019 is staying on 17763? but it is not re-released yet; the first build number of Windows Server 2019 is 17623?


 and now my .net code most like the below, that working safe?

if (VersionHelper.IsWindows10OrGreater())
       _isWindows10OrGreater = true;

if (_isWindowsServer)
          if (Build > 17763)  //???
              _productShortName = "Windows Server 20XX";
         else if (Build > 17622) 
              _productShortName = "Windows Server 2019";


                     _productShortName = "Windows Server 2016";
        _productShortName = "Windows 10";



Windows Server 2016 will always be 10.0.14393.### where ### increments as cumulative updates are installed.

Windows Server 2019 will always be 10.0.17763.### where ### increments as cumulative updates are installed.


Windows Server 2019 is available on all the normal release channels now.



I have 17744 - with desktop experience about to expire in 2 days - will there be an upgrade path and if so, what will that be?  I am testing SharePoint 2019 mostly dev

If you have a Visual Studio Subscription, you may obtain and upgrade to the final build of Windows Server 2019 and use it for testing purposes.  The VNext images that we are releasing to Insiders currently are for the upcoming Semi-Annual Channel release only, which does not have the desktop experience. At this time I do not have a date for when we will start releasing previews of the next Long-Term Servicing Channel version with desktop experience.