[win32] add Win 8.1 detection
authorVoyager1 <voyager@xbmc.org>
Mon, 28 Oct 2013 08:07:02 +0000 (09:07 +0100)
committerVoyager1 <voyager@xbmc.org>
Wed, 30 Oct 2013 08:12:14 +0000 (09:12 +0100)
project/VS2010Express/XBMC.vcxproj
project/VS2010Express/win81.manifest [new file with mode: 0644]
xbmc/utils/SystemInfo.cpp
xbmc/utils/SystemInfo.h

index 65ec4a0..e90b296 100644 (file)
       <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>VC90.CRT.x86.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>VC90.CRT.x86.manifest;win81.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>VC90.CRT.x86.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>VC90.CRT.x86.manifest;win81.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>VC90.CRT.x86.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>VC90.CRT.x86.manifest;win81.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>VC90.CRT.x86.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>VC90.CRT.x86.manifest;win81.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
       <TargetMachine>MachineX86</TargetMachine>
     </Link>
     <Manifest>
-      <AdditionalManifestFiles>VC90.CRT.x86.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
+      <AdditionalManifestFiles>VC90.CRT.x86.manifest;win81.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
       <EnableDPIAwareness>true</EnableDPIAwareness>
     </Manifest>
   </ItemDefinitionGroup>
diff --git a/project/VS2010Express/win81.manifest b/project/VS2010Express/win81.manifest
new file mode 100644 (file)
index 0000000..61625f2
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
+    <description>XBMC</description>
+    <compatibility xmlns='urn:schemas-microsoft-com:compatibility.v1'> 
+        <application> 
+            <!-- Windows 8.1 -->
+            <supportedOS Id='{1f676c76-80e1-4239-95bb-83d0f6d0da78}'/>
+            <!-- Windows Vista -->
+            <supportedOS Id='{e2011457-1546-43c5-a5fe-008deee3d3f0}'/> 
+            <!-- Windows 7 -->
+            <supportedOS Id='{35138b9a-5d96-4fbd-8e2d-a2440225f93a}'/>
+            <!-- Windows 8 -->
+            <supportedOS Id='{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}'/>
+        </application> 
+    </compatibility>
+</assembly>
\ No newline at end of file
index 82c650e..d22dcc5 100644 (file)
@@ -437,8 +437,10 @@ CSysInfo::WindowsVersion CSysInfo::GetWindowsVersion()
         m_WinVer = WindowsVersionWin7;
       else if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 2)
         m_WinVer = WindowsVersionWin8;
+      else if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 3) 
+        m_WinVer = WindowsVersionWin8_1;
       /* Insert checks for new Windows versions here */
-      else if ( (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 2) || osvi.dwMajorVersion > 6)
+      else if ( (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion > 3) || osvi.dwMajorVersion > 6)
         m_WinVer = WindowsVersionFuture;
     }
   }
@@ -533,6 +535,12 @@ CStdString CSysInfo::GetKernelVersion()
       else
         strKernel.append(" Server 2012");
       break;
+    case WindowsVersionWin8_1:
+      if (osvi.wProductType == VER_NT_WORKSTATION)
+        strKernel.append(" 8.1");
+      else
+        strKernel.append(" Server 2012 R2");
+      break;
     case WindowsVersionFuture:
       strKernel.append(" Unknown Future Version");
       break;
index 94c3a9a..8935431 100644 (file)
@@ -86,6 +86,7 @@ public:
     WindowsVersionVista,        // Windows Vista, Windows Server 2008
     WindowsVersionWin7,         // Windows 7, Windows Server 2008 R2
     WindowsVersionWin8,         // Windows 8, Windows Server 2012
+    WindowsVersionWin8_1,       // Windows 8.1
     /* Insert new Windows versions here, when they'll be known */
     WindowsVersionFuture = 100  // Future Windows version, not known to code
   };