OSDN Git Service

Win8.1は暫定的にWin8と同じ扱いとする
[applistation/AppliStation.git] / na-get-lib / NaGet.Packages / Platform.cs
index 769c094..90afc50 100644 (file)
@@ -19,6 +19,9 @@ namespace NaGet.Packages
                WIN2003 = 152,\r
                VISTA = 160,\r
                WIN7 = 161,\r
+               WIN8 = 162,\r
+               //WIN8_1 = 163,\r
+               WIN10 = 164,\r
        }\r
        \r
        public class Platform\r
@@ -122,9 +125,9 @@ namespace NaGet.Packages
                }\r
                \r
                /// <summary>\r
-               /// ç\8f¾å\9c¨ã\81®ã\83\9eã\82·ã\83³ã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£ã\82\92å¾\97ã\82\8b\r
+               /// ç\8f¾å\9c¨ã\81®ã\83\9eã\82·ã\83³ã\81§å\8b\95ã\81\8fã\81\8bã\82\92è¿\94ã\81\99\r
                /// </summary>\r
-               /// <returns>ç\8f¾å\9c¨ã\81®ã\83\9eã\82·ã\83³ã\81®ã\82¢ã\83¼ã\82­ã\83\86ã\82¯ã\83\81ã\83£</returns>\r
+               /// <returns>ç\8f¾å\9c¨ã\81®ã\83\9eã\82·ã\83³ã\81§å\8b\95ã\81\8fã\81\8b</returns>\r
                public bool IsRunnableOS()\r
                {\r
                        if (OsType == null || OsType.Length <= 0) {\r
@@ -132,6 +135,7 @@ namespace NaGet.Packages
                        }\r
                        \r
                        PlatformOSType? thisOs = GetOSType();\r
+\r
                        return thisOs != null && Array.BinarySearch(OsType, (PlatformOSType) thisOs) >= 0;\r
                }\r
                \r
@@ -152,7 +156,7 @@ namespace NaGet.Packages
                                                                return PlatformOSType.WIN95;\r
                                                        case 10:\r
                                                                return PlatformOSType.WIN98;\r
-                                                       case 99:\r
+                                                       case 90:\r
                                                                return PlatformOSType.WINME;\r
                                                }\r
                                        }\r
@@ -170,11 +174,24 @@ namespace NaGet.Packages
                                                                return PlatformOSType.WIN2003;\r
                                                }\r
                                        } else if (osVer.Major == 6) {\r
-                                               switch (osVer.Minor) {\r
+                                               int osVerMinor = osVer.Minor;\r
+                                               NaGet.InteropServices.WindowsVersion.VersionInfo? verInfo = NaGet.InteropServices.WindowsVersion.GetVersionInfo();\r
+                                               if (verInfo.HasValue) {\r
+                                                       if (verInfo.Value.MajorVersion == 10) {\r
+                                                               return PlatformOSType.WIN10;\r
+                                                       } else {\r
+                                                               osVerMinor = (int) verInfo.Value.MinorVersion;\r
+                                                       }\r
+                                               }\r
+                                               switch (osVerMinor) {\r
                                                        case 0:\r
                                                                return PlatformOSType.VISTA;\r
                                                        case 1:\r
                                                                return PlatformOSType.WIN7;\r
+                                                       case 2:\r
+                                                               return PlatformOSType.WIN8;\r
+                                                       case 3:\r
+                                                               return PlatformOSType.WIN8;//return PlatformOSType.WIN8_1;\r
                                                }\r
                                        }\r
                                        break;\r