- switch ( info.dwMinorVersion )
- {
- case 0:
- str.Printf(_("Windows 2000 (build %lu"),
- info.dwBuildNumber);
- break;
- case 1:
- str.Printf(_("Windows XP (build %lu"),
- info.dwBuildNumber);
- break;
- case 2:
- str.Printf(_("Windows Server 2003 (build %lu"),
+ case 5:
+ switch ( info.dwMinorVersion )
+ {
+ case 0:
+ str.Printf(_("Windows 2000 (build %lu"),
+ info.dwBuildNumber);
+ break;
+
+ case 2:
+ // we can't distinguish between XP 64 and 2003
+ // as they both are 5.2, so examine the product
+ // type to resolve this ambiguity
+ if ( wxIsWindowsServer() == 1 )
+ {
+ str.Printf(_("Windows Server 2003 (build %lu"),
+ info.dwBuildNumber);
+ break;
+ }
+ //else: must be XP, fall through
+
+ case 1:
+ str.Printf(_("Windows XP (build %lu"),
+ info.dwBuildNumber);
+ break;
+ }
+ break;
+
+ case 6:
+ if ( info.dwMinorVersion == 0 )
+ {
+ str.Printf(_("Windows Vista (build %lu"),