2

我想编写一个程序(在 vb.net 中)来检查客户配置以确保他们......

  • 运行 XP Service Pack 3
  • 运行 .Net 3.0 或更高版本。
  • 如果他们没有运行 .Net 3.5 或更高版本,请给他们一个警告。

或者

  • 运行 Vista Service Pack 1。

我该怎么做?有一个 stackoverflow 问题询问如何判断安装了哪个版本的 .NET,但是如何测试安装了哪个 O/S 和 O/S 服务包?

如何检测安装了哪些 .NET Framework 版本和服务包?

4

2 回答 2

3

我不完全知道 Windows XP SP 3 的版本号(但应该很容易为您查找),但您可以通过以下方式获取版本字符串。


Console.WriteLine(Environment.Version); // CLR version
Console.WriteLine(Environment.OSVersion.VersionString); // OS version string
Console.WriteLine(Environment.OSVersion.ServicePack); // OS SP string

Version requiredVersion = new Version(5, 1, 2600, 0); // Should be XP Prof. with Service Pack 2 (any revision) if (Environment.OSVersion.Version.Major >= requiredVersion.Major && Environment.OSVersion.Version.Minor >= requiredVersion.Minor && Environment.OSVersion.Version.Build >= requiredVersion.Build) { // You are running at least Windows XP Prof. with Service Pack 2 or above! }

确定是否安装了 .NET Framework 3.5 并不容易,因为 3.5 版本只是基于 2.0 的插件。但您可以检查文件夹“C:\WINDOWS\Microsoft.NET\Framework\v3.5”是否存在。

于 2009-03-04T13:02:36.330 回答
2

查看 Microsoft 的这篇文章如何确定 Visual Basic .NET 或 Visual Basic 2005 中的操作系统服务包级别

于 2009-03-04T13:04:13.690 回答