这个问题更多的是对假设的验证而不是其他任何问题。我在创建安装程序时使用以下方法:
public string GetOSVersion()
{
switch (Environment.OSVersion.Platform) {
case PlatformID.Win32S:
return "Win 3.1";
case PlatformID.Win32Windows:
switch (Environment.OSVersion.Version.Minor) {
case 0:
return "Win95";
case 10:
return "Win98";
case 90:
return "WinME";
}
break;
case PlatformID.Win32NT:
switch (Environment.OSVersion.Version.Major) {
case 3:
return "NT 3.51";
case 4:
return "NT 4.0";
case 5:
switch (Environment.OSVersion.Version.Minor) {
case 0:
return "Win2000";
case 1:
return "WinXP";
case 2:
return "Win2003";
}
break;
case 6:
switch(Environment.OSVersion.Version.Minor) {
case 0:
return "Vista/Win2008Server";
case 1:
return "Win7/Win2008Server R2";
case 2:
return "Win8/Win10/Win2012Server";
case 3:
return "Win8.1/Win2012Server R2";
}
break;
}
break;
case PlatformID.WinCE:
return "Win CE";
}
return "Unknown";
}
我的假设是,由于XPe基本上是XP Pro,它将从前面的方法返回“WinXP”。我无权访问自己的版本,但我知道该应用程序将安装在XPe版本上。
我错了吗?