Windows version major minor build

Operating System Version

The Version API Helper functions are used to determine the version of the operating system that is currently running. For more information, see Getting the System Version.

The following table summarizes the most recent operating system version numbers.

Operating system Version number
Windows 10 10.0*
Windows Server 2019 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-Bit Edition 5.2
Windows XP 5.1
Windows 2000 5.0

* For applications that have been manifested for Windows 8.1 or Windows 10. Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). To manifest your applications for Windows 8.1 or Windows 10, refer to Targeting your application for Windows.

Identifying the current operating system is usually not the best way to determine whether a particular operating system feature is present. This is because the operating system may have had new features added in a redistributable DLL. Rather than using the Version API Helper functions to determine the operating system platform or version number, test for the presence of the feature itself.

To determine the best way to test for a feature, refer to the documentation for the feature of interest. The following list discusses some common techniques for feature detection:

  • You can test for the presence of the functions associated with a feature. To test for the presence of a function in a system DLL, call the LoadLibrary function to load the DLL. Then call the GetProcAddress function to determine whether the function of interest is present in the DLL. Use the pointer returned by GetProcAddress to call the function. Note that even if the function is present, it may be a stub that just returns an error code such as ERROR_CALL_NOT_IMPLEMENTED.
  • You can determine the presence of some features by using the GetSystemMetrics function. For example, you can detect multiple display monitors by calling GetSystemMetrics(SM_CMONITORS).
  • There are several versions of the redistributable DLLs that implement shell and common control features. For information about determining which versions are present on the system your application is running on, see the topic Shell and Common Controls Versions.

If you must require a particular operating system, be sure to use it as a minimum supported version, rather than design the test for the one operating system. This way, your detection code will continue to work on future versions of Windows.

Note that a 32-bit application can detect whether it is running under WOW64 by calling the IsWow64Process function. It can obtain additional processor information by calling the GetNativeSystemInfo function.

Windows 10 Major Minor Build Rev | Where Can I Get Details?

Let’s understand Windows 10 Major Minor Build Rev | Where Can I Get Details? I have been struggling to understand what is this “major.minor.build.rev” for Windows 10. As an Intune admin, this version of Windows 10 is referenced in many places. The following is one of the places where this Windows 10 Major Minor Build Rev is referenced.

Table of Contents

Device Type Restrictions Policies

Specify the platform configuration restrictions that must be met for a device to enroll. Use compliance policies to restrict devices after enrollment. Define versions as major.minor.build.

Version restrictions only apply to devices enrolled with the Company Portal. Intune classifies devices as personally-owned by default. Additional action is required to classify devices as corporate-owned.

Some of the references to Windows 10 version numbers and Device Type restrictions:

major.minor.build.rev Version for Windows

Special version numbers for major.minor.build.rev of Windows 10 structure is as follows. Let’s take two examples here:

Windows 10 2004 👉 major.minor.build.rev for 2004 = 10.0.19041.329

  • Major = 10
  • Minor = 0
  • Build = 19041
  • Rev = 329

Windows 10 Major Minor Build Rev – Intune – major.minor.build.rev

Windows 10 version 1909👉 major.minor.build.rev for 1909= 10.0.18363.900

  • Major = 10
  • Minor = 0
  • Build = 18363
  • Rev = 900

Windows 10 Major Minor Build Rev – Intune – major.minor.build.rev

major.minor.build.rev for Windows 10

Let’s find out the details of major.minor.build.rev for Windows 10 in the below table:

Windows 10 Details major.minor.build.rev for Windows 10
Windows 10 version 2004 10.0.19041.329
Windows 10 version 1909 10.0.18363.900
Windows 10 version 1903 10.0.18362.900
Windows 10 version 1809 10.0.17763.100
Windows 10 version 1803 10.0.17134.100
Windows 10 version 1709 10.0.16299.000
Windows 10 version 1703 10.0.15063.000
Windows 10 version 1607 10.0.14393.000
Windows 10 version 1511 10.0.10586.000
Windows 10 version 1507 10.0.10240.000

Intune Admin Requirement

As you can see in the below screen capture, we should use this version while creating enrollment restriction policies using Intune. This might help in configuring the details under the minimum version details for Windows 10 devices.

Windows 10 Major Minor Build Rev – Intune – major.minor.build.rev

Windows Version Numbers

A list of Windows version numbers & major Windows builds

Each Microsoft Windows operating system has a familiar name, like Windows 10 or Windows Vista, but behind each common name is an actual Windows version number 1 .

You can determine your Windows version a number of ways if you want to check which build number you’re currently running.

Windows Version Numbers

Below is a list of major Windows versions and their associated version numbers:

Reference Table for Windows Version Numbers
Operating System Version Details Version Number
Windows 10 Windows 10 (20H2) 10.0.19042
Windows 10 (2004) 10.0.19041
Windows 10 (1909) 10.0.18363
Windows 10 (1903) 10.0.18362
Windows 10 (1809) 10.0.17763
Windows 10 (1803) 10.0.17134
Windows 10 (1709) 10.0.16299
Windows 10 (1703) 10.0.15063
Windows 10 (1607) 10.0.14393
Windows 10 (1511) 10.0.10586
Windows 10 10.0.10240
Windows 8 Windows 8.1 (Update 1) 6.3.9600
Windows 8.1 6.3.9200
Windows 8 6.2.9200
Windows 7 Windows 7 SP1 6.1.7601
Windows 7 6.1.7600
Windows Vista Windows Vista SP2 6.0.6002
Windows Vista SP1 6.0.6001
Windows Vista 6.0.6000
Windows XP Windows XP 2 5.1.2600 3

[1] More specific than a version number, at least in Windows, is a build number, often indicating exactly what major update or service pack has been applied to that Windows version. This is the last number shown in the version number column, like 7600 for Windows 7. Some sources note the build number in parenthesis, like 6.1 (7600).

[2] Windows XP Professional 64-bit had its own version number of 5.2. As far as we know, that’s the only time Microsoft has designated a special version number for a specific edition and architecture-type of a Windows operating system.

[3] Service pack updates to Windows XP did update the build number but in a very minor and long-winded way. For example, Windows XP with SP3 and other small updates is listed as having a version number of 5.1 (Build 2600.xpsp_sp3_qfe.130704-0421 : Service Pack 3).

How to Update Windows

To update Windows to the newest build number, use Windows Update. Using the built-in Windows Update utility is the easiest way to check for and install Windows updates.

If your version of Windows isn’t currently set up to install updates automatically, you can change the Windows Update settings so that new updates are downloaded and applied automatically. This is the simplest way to keep Windows updated to the latest version number.

Major Changes in Windows 10

Microsoft introduced several changes to the Windows operating system with the release of Windows 10. These are some of the biggest differences between Windows 10 and Windows 8 (and older versions of Windows):

Major vs. Minor upgrade in windows installer

Is there any reason not to set up the install so that major upgrade is always done and productcode changed?

I find that supporting different kinds of installs needs more code, and «repair» install seems to work easier with major upgrade. Also the application that needs to be installed is not very big, thus there is no need for «service packs» or patch installers.

3 Answers 3

No. If you application is small and you don’t feel the pain of uninstall and install then Major Upgrades are the easiest thing to do.

I’d only move to the more advanced update mechanisms if the Major Upgrade user experience was unacceptable.

I generally find that minor upgrades are only useful in a few cases:

1: Uninstall Bug: There is a bug in the uninstall sequence of the installed MSI. Since a minor upgrade does not uninstall the product, but merely reinstalls it. This allows you to fix whatever was wrong in the uninstall sequence before it is called.

2: Hotfix: There is a very small tweak required for a very large product. Say a bug fix for a single file or a few files. There will generally be a small bug requirement after a couple of weeks for all large products where you need to replace just a few files. Major upgrades can be terrible for this — uninstall and reinstall for just 4 out of 10000 files?

3: Patching: You want to deploy a patch for your product. MSI does allow major upgrade patches, but these are even more complex to get working than minor upgrade patches (which are also difficult).

The «Small Update» feature should never be used for any purpose in my opinion. Major or Minor upgrades only.

Why is System.Version in .NET defined as Major.Minor.Build.Revision?

Why is System.Version in .NET defined as Major.Minor.Build.Revision? Almost everyone (including me) seems to agree that revision belongs in third place, and «build» or whatever you’d like to call it belongs last.

Does Microsoft even use the numbers in this haphazard way, e.g. 3.5.3858.2, or are the names themselves just backwards? For example if you were to write your own Version class with the order Major.Minor.Build.Revision, would it be proper to swap the last two components when converting to a System.Version, or do you ignore it and just pretend the names are backwards?

4 Answers 4

I think the confusion comes what most consider a «revision» and what Microsoft does:

Build: A difference in build number represents a recompilation of the same source. This would be appropriate because of processor, platform, or compiler changes.

Revision: Assemblies with the same name, major, and minor version numbers but different revisions are intended to be fully interchangeable. This would be appropriate to fix a security hole in a previously released assembly.

The security fix angle, probably much more common for them, seems to be a decent reason to have it in last place, as the «most-minor» change.

I realize I’m coming to the party a bit late, but I wanted to share my twopence on why the order of build and revision are «wrong.» It’s not so much that they’re in the wrong order, but that they’re not in any order.

The version of an assembly, when it comes down to it, is Major.Minor. From the aforementioned link, Microsoft says, «Subsequent versions of an assembly that differ only by build or revision numbers are considered to be Hotfix updates of the prior version.» [My emphasis]

The Build represents a recompilation of the same source. The Revision represents a code change, but one that is fully interchangable with other revisions of the same [Major.Minor] version. But neither takes precedence over the other.

So, in summary, don’t think of it as:

Does Microsoft even use the numbers in this haphazard way, e.g. 3.5.3858.2

If you let it default, e.g. by specifying [assembly: AssemblyVersion(«1.1.*»)] , then the third number increments each day, and the fourth number is the number of seconds since midnight, divided by two (to disambiguate if there’s more than one builds in a single day).

Almost everyone (including me) seems to agree that revision belongs in third place, and «build» or whatever you’d like to call it belongs last.

Microsoft seem to be using «build» as a synonym of «day»: perhaps that’s related to the idea of «daily builds»; and a «revision» is then therefore another version of the (daily) build.

Late answer, but I feel the other answers could be expanded on a bit.

The terms «build» and «revision» is just Microsoft terminology. The System.Version class does not care in any way how you assign them.

As for switching the order of parts to match your own terminology i would say that you should basically ignore the words entirely and instead consider what the System.Version really defines:

A string format that it can parse and generate:

This means that if you are used to having you own version formatted as x.y.z.w, then you should instantiate the Version class this way:

Any other parameter order will not match what Parse() and ToString() would do. If you switch z and w, then ToString() would output x.y.w.z which would be confusing for everyone if you expect x.y.z.w.

A version comparison and sort order, whereby versions are sorted first by major, then by minor, then build, then revision, as most of us would expect. That is, 1.2.5 is later than 1.2.3.7.

So if you style your version string as 1.2.6.4 and want that to be considered newer than 1.2.5.8, then do not switch the order of the parts in the Version constructor.

In short — while the words major/minor/build/revision might give a clue as to which number should be increased considering the amount of changes, the terminology have very little impact on how the class is actually used. Formatting and sorting is what matters.

Читайте также:  Installing linux step by step
Оцените статью
Adblock
detector