What are the different versions of Microsoft Windows Mobile?

This blog post gives an introduction to the different versions of Windows Mobile and small code snippet in C# / .NET Compact Framework to find the version of the Operating system.

Windows Mobile is a Microsoft’s mobile operating system designed for smartphone and mobile devices .

What are the various versions of Microsoft Windows Mobile ?

There are different versions of Windows Mobile.

1. Pocket PC 2000 – ( Code name Rapier ) was released in the year 2000 and was based on Windows CE 3.0 .

2. Pocket PC 2002 – ( Code name Merlin ) was released in 2001. This was also based in WIN CE 3.0 targetting QVGA .

3. Windows Mobile 2003 ( code name Ozone ) was released in 2003 .This had 4 versions .

  • Windows Mobile 2003 for Pocket PC Premium Edition
  • Windows Mobile 2003 for Pocket PC Professional Edition
  • Windows Mobile 2003 for Smartphone
  • Windows Mobile 2003 for Pocket PC Phone Edition

4. Windows Mobile 5.0 ( code name Magneto ) was released in 2005 .This version offered push email functionality via direct MS Exchange and also had new versions of office Mobile and Media player .

5. Windows Mobile 6 ( code name Crossbow ) was released in 2007 and had 3 versions

  • Windows mobile standard targetting the the Non touchscreen devices .
  • Windows Mobile Professional targetting the touch screen devices .
  • Windows Mobile Classic – Similar to Windows Mobile Professional but without the phone functionalities

6. Windows Mobile 6.1 was announced in 2008. It was a minor upgrade to the existing Windows Mobile 6 .

7. Windows Mobile 6.5 was an upgrade to Windows Mobile 6.1

8. Windows Phone 7 is the next version of the Windows Phone operating system developed by Microsoft.

Here’s a sample to find the OS Version Mobile using .NET Compact Framework and C#

private void Form1_Load(object sender, EventArgs e)

Environment.OSVersion will return the platform and the version like

Microsoft Windows CE 5.1.1700 ( for Windows Mobile 5 )

Also the Windows Mobile 6 runs on the WINCE Kernel version 5.2 and Windows Mobile 5 runs on WINCE kernel version 5.1 …

Visit Versions of  Windows CE / Windows Mobile to know more about the WINCE Version used in Windows Mobile .

So we can check if the application runs on Windows Mobile 6 by verifying the OS Version’s

major and minor version like this

if (Environment.OSVersion.Version.Major == 5 && Envrionment.OSVersion.Version.Minor == 2)
   MessageBox.Show("Windows Mobile 6");

It is also possible to check if the OS or the platform is WINCE by verifying with the Platform ID .

Environment.OSVersion.Platform == PlatformID.WinCE