none
What version number is WM 6.5?

    Question

  • GetVersionEx() on the WM6.5 emulator returns the version number 5.2.21234
    GetVersionEx() on the WM6.1.4 emulator returns the version number 5.2.20757

    Is there indeed only a change of the build number for WM 6.5? Or is this some kind of "bug" of the emulator and the later real WM6.5 devices return something like 5.3.xxxx or something? If this behavior is wanted and the real WM6.5 will not get an increased minor number, what is the first build number for WM6.5?
    Tuesday, July 14, 2009 3:18 PM

Answers

  • Hi MSWiege,

    as far as i know it is not easy to identify WM 6.5 by checking only the build number. If you really want to be sure you will have to check the AKU version. For WM 6.5 it is 5.0.0. On http://channel9.msdn.com/wiki/mobiledeveloper/listofakus/ you can find a list with all AKU versions which the OS stores under HKLM\SYSTEM\Versions\Aku. Take care that in most cases you will have a dot in front of the AKU string (e.g. ".5.0.0").

    Regards,
    Chris
    • Proposed as answer by PsychoChris Tuesday, July 14, 2009 4:00 PM
    • Marked as answer by MSWiege Tuesday, July 14, 2009 7:16 PM
    Tuesday, July 14, 2009 3:59 PM
  • I'd be careful about AKU. Some OEMs doesn't implement it as MS would like them to :).
    Just check as I told You in other forum: (major == 5 AND minor == 2 AND build >= 21000).

    Many people have beta versions from before 21234 (RTM) and that's why I suggest checking from 21000.

    If You'll find my answer satisfactory or helpful - mark it as answered! Thank You. PS. Votes also doesn't hurt :).
    • Proposed as answer by Mal Loth Wednesday, August 19, 2009 10:13 AM
    • Marked as answer by MSWiege Wednesday, August 19, 2009 10:16 AM
    Wednesday, August 19, 2009 10:12 AM

All replies

  • Hi MSWiege,

    as far as i know it is not easy to identify WM 6.5 by checking only the build number. If you really want to be sure you will have to check the AKU version. For WM 6.5 it is 5.0.0. On http://channel9.msdn.com/wiki/mobiledeveloper/listofakus/ you can find a list with all AKU versions which the OS stores under HKLM\SYSTEM\Versions\Aku. Take care that in most cases you will have a dot in front of the AKU string (e.g. ".5.0.0").

    Regards,
    Chris
    • Proposed as answer by PsychoChris Tuesday, July 14, 2009 4:00 PM
    • Marked as answer by MSWiege Tuesday, July 14, 2009 7:16 PM
    Tuesday, July 14, 2009 3:59 PM
  • Hi All,

    Check AKU is one way.

    You can extract the info using build #.  It is in the format of (xxxxx.5.x.x).  First five digit is the actual build #; number 5 after the first dot maps to the so-called major AKU version. Build 21215 is the RTM (or RTT) build.  So, if build number is greater than 21215 and major AKU version is 5, you are running WM 6.5.


    Cheers,
    Mike

    Windows Mobile Marketplace Certification Team


    Tuesday, August 18, 2009 5:14 PM
  • Hi Liu,

    thank you for the information. You mention that I should check that the build number is greater 21234 AND AKU version is 5?
    But how do I get the number you mention?

    GetVersionEx() on the WM 6.5 emulator returns the version number 5.2.21234
    HKLM/System/Versions/AKU on WM 6.5 emulator has the value ".5.0.1"
    GetVersionEx() on the WM 6.1.4 emulator returns the version number 5.2.20757
    HKLM/System/Versions/AKU on WM 6.1.4 emulator has the value ".1.4.0"

    So the GetVersionEx gives me the build number but not the AKU and the registry gives me the AKU but not the build number.
    Do I have to make both checks to validate build number to be greater 21215 and AKU equal 5 or is there some place or function to get it in the format you mentioned (xxxxx.5.x.x)?
    Wednesday, August 19, 2009 10:07 AM
  • I'd be careful about AKU. Some OEMs doesn't implement it as MS would like them to :).
    Just check as I told You in other forum: (major == 5 AND minor == 2 AND build >= 21000).

    Many people have beta versions from before 21234 (RTM) and that's why I suggest checking from 21000.

    If You'll find my answer satisfactory or helpful - mark it as answered! Thank You. PS. Votes also doesn't hurt :).
    • Proposed as answer by Mal Loth Wednesday, August 19, 2009 10:13 AM
    • Marked as answer by MSWiege Wednesday, August 19, 2009 10:16 AM
    Wednesday, August 19, 2009 10:12 AM
  • So for everybody who just wants to copy/paste: This function checks if the OS is 6.5 or higher using the Mal Loth way :)

    static bool OSIs65OrHigher()
    {
    	OSVERSIONINFO versionInfo;
    	DWORD dwOSVersion = ::GetVersionEx(&versionInfo);
    	return (versionInfo.dwMajorVersion > 5 || (versionInfo.dwMajorVersion == 5 && versionInfo.dwMinorVersion > 2) ||
    		(versionInfo.dwMajorVersion == 5 && versionInfo.dwMinorVersion == 2 && versionInfo.dwBuildNumber >= 21000));
    }
    Wednesday, August 19, 2009 10:22 AM