4

Когда версия пакета обновления для Vista находится на уровне 1 (SP1), этот номер версии отображается в «Панели управления / Система». Однако в моей системе эта информация исчезла, вероятно, потому, что я сейчас использую SP2. Я хотел бы проверить это, чтобы быть уверенным.

Вывод: благодаря Ivo я нашел настройки реестра, в которых хранится номер версии пакета обновления. Поскольку я был (ошибочно) убежден, что уже установил пакет обновления, и поскольку в моей системе было установлено значение "CSDBuildNumber" 2, я провел некоторое исследование информации в реестре. Вот результаты:

Свежий образ Windows Vista без SP:

  • CSDBuildNumber: 2
  • CSDVersion нету

Свежий образ Windows Vista с пакетом обновления 1:

  • CSDBuildNumber: 1616
  • CSDVersion: пакет обновления 1

Свежий образ Windows Vista с пакетом обновления 2:

  • CSDBuildNumber: 1621
  • CSDVersion: пакет обновления 2

Так что, действительно, моя проблема заключалась в том, что - вопреки тому, во что я верил - у меня не был установлен пакет обновления. Таким образом, диалог «Панель управления / Система» может быть доверенным.

3 ответа3

4

Запустите winver из поля ввода в меню «Пуск» (или из любого другого места, где вы можете запускать произвольные команды).

Эта маленькая утилита открывает окно с сообщением о текущей версии Windows и уровне пакета обновления.

2

Посмотрите на эту запись реестра:

HKEY_LOCAL_MACHINE\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ CSDBuildNumber

Проверьте эту статью о том, для чего она (спасибо за комментарии)

1

Мой ответ (правильный ответ), для потомков:

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

Значение уровня пакета обновления (если оно есть) получается с помощью команды CSDVersion >> 8 т. Е. Сдвига вправо CSDVersion REG_DWORD на 8 бит; например, значение REG_DWORD будет 0x100 для SP1, 0x200 для SP2 и так далее.

Это работает для версий Windows вплоть до NT4 и является предпочтительным способом получения SP уровня Microsoft до введения структуры OSVERSIONINFOEX, как указано в Основных требованиях Windows [1], в частности, в требовании « 7.Выполните проверку версии Windows правильно "(см. Ссылку ниже для получения более подробной информации)

[1] Ссылка: http://msdn.microsoft.com/en-us/library/ms954375.aspx

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .