在哪里可以找到 Vista 的服务包级别?

在哪里可以找到 Vista 的服务包级别?

当 Vista 的服务包版本为级别 1 (SP1) 时,此版本号显示在“控制面板/系统”。但是,在我的系统上,这些信息已经消失,可能是因为我现在正在使用 SP2。我想验证一下,这样我就可以确定了。

结论: 谢谢伊沃我找到了存储服务包版本号的注册表设置。由于我(错误地)确信我已经安装了服务包,并且由于我的系统上的“CSDBuildNumber”为 2,因此我对注册表中的信息进行了一些研究。结果如下:

不含 SP 的全新 Windows Vista 映像:

  • CSDBuildNumber:2
  • CSDVersion 不存在

带有 SP1 的全新 Windows Vista 映像:

  • CSDBuildNumber:1616
  • CSD版本:Service Pack 1

带有 SP2 的全新 Windows Vista 映像:

  • CSDBuildNumber:1621
  • CSD版本:Service Pack 2

所以,事实上,我的问题是——与我所认为的相反——我没有安装服务包。因此,“控制面板/系统”对话框值得信赖

答案1

看一下这个注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDBuildNumber

查看这篇文章它的用途(感谢评论)

答案2

winver从开始菜单输入框运行(或任何可以运行任意命令的地方)。

这个小实用程序会打开一个消息框,列出当前的 Windows 版本和服务包级别。

答案3

我的答案(正确的答案),供后人参考:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\CSDVersion (a REG_DWORD)

服务包级别(如果有)值是通过将CSDVersion >> 8CSDVersion REG_DWORD 右移 8 位获得的;例如 REG_DWORD价值0x100适用于 SP1、0x200将适用于 SP2,等等。

这适用于 Windows NT4 及以上版本,并且是微软获取 SP 级别的首选方式在引入操作系统版本信息结构,如Windows 基本要求[1],具体要求“7.正确执行Windows版本检查“(更多详情请参阅下面的参考链接)

[1]参考文献:http://msdn.microsoft.com/en-us/library/ms954375.aspx

相关内容