Управление версиями операционной системы
Затронутые платформы
Клиенты — 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
Решение
Как правило, приложения не должны проверять версию операционной системы. Если приложению требуется определенная функция, предпочтительнее попытаться найти эту функцию и завершиться сбоем только в том случае, если необходимая функция отсутствует. Как минимум, приложения должны принимать номера версий, превышающие или равные самой низкой поддерживаемой версии операционной системы. Исключения должны возникать только в том случае, если есть определенные юридические, бизнес-требования или требования к системным компонентам.
Ссылки на другие ресурсы
- Скачивание набора средств для обеспечения совместимости приложений
- Известные исправления совместимости, режимы совместимости и сообщения AppHelp