Управление версиями операционной системы

Затронутые платформы

Клиенты — Windows 7
Серверы — Windows Server 2008 R2

Влияние функции

Серьезность — высокая
Частота — высокая

Описание

Внутренний номер версии для Windows 7 и Windows Server 2008 R2 — 6.1. Функция GetVersion теперь возвращает этот номер версии приложениям при запросе. Это особенно важно для антивируса, резервного копирования, служебных приложений и защиты копирования.

Проявление влияния

Проявление этого изменения зависит от приложения. Это означает, что любое приложение, которое специально проверяет версию операционной системы, получит более высокий номер версии, что может привести к одной или нескольким из следующих ситуаций:

  • Установщики приложений могут быть не в состоянии установить приложение, и приложения могут быть не в состоянии запустить
  • Приложения могут стать неустойчивыми или аварийными
  • Приложения могут создавать сообщения об ошибках, но продолжать работать должным образом

Смягчение последствий

Большинство приложений будут работать правильно в Windows 7 и Windows Server 2008 R2, так как совместимость приложений в Windows 7 и Windows Server 2008 R2 очень высока. Однако Windows 7 и Windows Server 2008 R2 включают представление совместимости для установщиков и приложений, которые проверяют версию операционной системы.

Чтобы включить представление совместимости, пользователи могут щелкнуть правой кнопкой мыши ярлык или исполняемый файл, а затем применить представление совместимости Windows XP с пакетом обновления 2 (SP2) или Windows Vista на вкладке "Совместимость". В большинстве случаев это должно позволить приложению правильно работать без каких-либо изменений в приложении.

ИТ-специалисты также могут применять любые применимые исправления совместимости VersionLie с помощью средства администратора совместимости, который устанавливает с помощью набора средств совместимости (ACT). Например, если приложению не удается функционировать, так как оно выполняет проверку, но не находит сведения о версии Windows XP® с пакетом обновления 2 (SP2), можно применить параметр WinXPSP2VersionLie, чтобы вернуть приложению правильную информацию о номере версии независимо от фактической версии операционной системы, работающей на компьютере. Доступные исправления совместимости VersionLie:

  • Win95VersionLie
  • Win98VersionLie
  • WinNT4SP5VersionLie
  • Win2000VersionLie
  • Win2000SP1VersionLie
  • Win2000SP2VersionLie
  • Win2000SP3VersionLie
  • WinXPVersionLie
  • WinXPSP1VersionLie
  • WinXPSP2VersionLie
  • VistaRTMVersionLie
  • VistaSP1VersionLie
  • VistaSP2VersionLie
  • Win2K3RTMVersionLie
  • Win2K3SP1VersionLie

Решение

Как правило, приложения не должны выполнять проверки версий операционной системы. Если приложению требуется определенная функция, предпочтительнее попытаться найти эту функцию и дать сбой только в том случае, если необходимая функция отсутствует. Как минимум, приложения всегда должны принимать номера версий, превышающие или равные наименьшей поддерживаемой версии операционной системы. Исключения должны возникать только в том случае, если существует определенное юридическое требование, бизнес или системный компонент.