У меня есть приложение WinForms, которое должно вести себя определенным образом (в частности, оболочка для определенного установщика) в зависимости от операционной системы, в которой оно работает.
Я использую класс System.OperatingSystem и объединяю номера PlatFormID, Major, Minor и Build, что помогает вам в этом.
К сожалению, свойства объекта OperatinSystem не позволяют точно различать некоторые платформы. Например. Vista и Windows Server 2008 или Vista 32-разрядная и Vista 64-разрядная. Аналогично, XP 64-разрядная версия Professional, похоже, имеет ту же информацию о версиях, что и Server 2003.
Так можно ли точно определить, на какой операционной системе Windows вы работаете, из приложения WinForms (используя c #)?