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

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

Клиенты — 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

Решение

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