Talk:Microsoft version numbering

message: Not only what Jugalator has said above, but the title of this article is far from accurate either. Many MS products use a very different format, and it might even be different for individual builds/revisions of the same products. Hence there is no "Microsoft Version Number". It doesn't exist as MS does not have a standardized way to format the numbers, or even the order of the number (eg: build.revision or revision.build)!!!. This article should seriously be revised. -- Cookie  —Preceding unsigned comment added by 84.195.156.101 (talk) 09:54, 19 July 2008 (UTC)
thread_title: Serious inaccurate article

message: This article should be transwikied to software.wikia.com
65.94.45.230 (talk) 05:50, 6 May 2011 (UTC)
thread_title: Microsoft version numbering

message: Keep in mind that any Microsoft product based on .NET (or any non Microsoft Product) will use a four section version number (built into the binary file format, and into the assembly version class that can be viewed via reflection, file properties, or in the GAC, etc... -- some products may alter the string that is displayed to the user, but that is not always the case)
The four parts of a .NET version are Major.Minor.Build.Revision -- It is very common (in my experience) to find .NET Assembly Versions that are set to UserDefinedMajor.UserDefinedMinor.* (example: "1.0.*") -- where * automatically inserts (at compile time) the EncodedDate.EncodedTime in place of Build.Revision (many newer Microsoft products that I encounter, appear to be of this type as well) -- encoded date is the number of days since Jan 1st 2000, and encoded time is the number of seconds (divided by 2) since midnight on that day. (Note that there are other ways to look up the build date & time of any windows .exe or .dll file, as it is part of the portable executable format; that date/time information can be compared against the version information to determine if a program's version bits are signifying a specific service pack etc, or simply the date and time of build, which is automatic.)
The following bit of C# code works to extract the build date & time information (in local time) from any given .NET assembly (and can be adapted to work with just plain version objects, or to other languages):
:// Parse Assembly Version Encoded Date (requires AssemblyVersion attribute to be set to "X.Y.*").
:Version v = someAssembly.GetName().Version;
:
:// Sanity Checking
:if (v.Build > 0)
:{
::DateTime dt = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Local);
::dt += TimeSpan.FromDays(v.Build);
::dt += TimeSpan.FromSeconds(v.Revision * 2);
:
::if (TimeZone.IsDaylightSavingTime(dt, TimeZone.CurrentTimeZone.GetDaylightChanges(dt.Year)))
::{
:::dt += TimeSpan.FromHours(1);
::}
:
::// Sanity Checking:
::if (dt < DateTime.Now) { return dt; }
:}
:
:// Raise error condition:
:....
That code is lurking around on the internet in various forms, but I don't have the time to find it right now.
BrainSlugs83 (talk) 01:50, 17 February 2012 (UTC)
thread_title:  .NET Based Microsoft (and non-Microsoft) Products 

message: There is a thing called "Office", the current sells under the 'label(ing)(?)' "2013", but of course the technical version is different. I think the similar could be said about the OS ... -> Windows, etc. etc. It would be nice, if the article would reflect that chaotic Microsoft Version(number)ing. --Alien4 (talk) 13:27, 24 March 2015 (UTC)
thread_title:  Marketing vs. technical