Несмотря на то, что Windows 7 выглядит более быстрой и эффектной, чем её предшественница, Windows Vista, обе операционные системы имеют практически идентичную основу. Это означает, что ряд проблем с совместимостью приложений, от которых нередко страдают пользователи Windows Vista, могут касаться также пользователей Windows 7. Это особенно касается пользователей корпоративных
компьютеров.
В то время, как многие программы и игры, написанные под Windows XP, после выпуска
операционной системы Windows Vista, состоявшегося около трёх лет назад, получили обновления для оптимизации их работы под Vista, многие корпоративные приложения практически не изменились. Эти приложения, часто написанные на таких языках Microsoft, как .Net или Visual Basic, могут стать при переходе предприятий от Windows XP к Windows 7 неожиданной проблемой, особенно если они в большом количестве активно используются множеством сотрудников, говорит Крис Джексон (Chris Jackson), младший архитектор программного обеспечения компании Microsoft.
Одним из возможных решений этой проблемы является использование приложений виртуализации, таких как
Windows XP Mode для ОС Windows 7, или MED-V, предназначенного для крупных предприятий. Недостатком всех виртуализаций является медленная работа, иногда чрезвычайно медленная. Кроме того, это всё-таки не полноценный переход на новую операционную систему.
Введение прослоек (shims) позволяет решить эту проблему более изящным способом. По сути прослойки представляют собой маленькие кусочки кода, которые не пытаются решить проблемы совместимости в лоб, а старательно обходят их.
Например, одна из общих проблем операционных систем Windows Vista и Windows 7 заключается в том, что большинство пользователей работает в стандартном режиме, а не в режиме администратора. Так как в стандартном режиме у пользователя меньше прав, то у него меньше шансов установить вредоносное программное обеспечение, однако уменьшение прав может привести к некорректной работе многих программ, написанных для ОС Windows XP, под которой у большинства пользователей довольно широкие права. Прослойка либо обманывает приложение, заставляя его поверить, что пользователь, запустивший приложение, обладает правами администратора, либо просто игнорирует проверки. Так как пользователь работает в стандартном режиме, угроза безопасности отсутствует, заявил Джексон. И при использовании прослойки нет необходимости срочно переписывать приложение.
"Думайте об этом как о переформулировании вопроса," ─ заявил Джексон в интервью. ─ "Если я не могу чётко ответить на вопрос, я просто изменяю вопрос." Компания Microsoft довольно часто использует подобный принцип вместо кропотливого исправления ошибок для решения проблем в ОС Windows. Например, в Windows 7 Release Candidate Microsoft включила прослойки для 6999 приложений, и периодически увеличивает их количество, присылая новые прослойки в составе обновлений.
Для IT-профессионалов, которым необходимо самим создавать прослойки для приложений, Microsoft предоставляет бесплатную утилиту Windows Application Compatibility Toolkit (ACT), которая позволит диагностировать проблемы с совместимостью и применить соответствующую прослойку. Кроме того, ACT может использовать прослойку, которая заставит приложение считать, что оно работает под другой определённой операционной системой. Некоторые приложения отключаются сами по себе, если они работают не под конкретной ОС. В архиве ACT также имеется специальная прослойка, которая помогает приложению найти системные файлы, помещённые в папку не с тем названием, какое ожидалось приложением.
Хотя Джексону очень нравится идея прослоек и он агитирует за их активное применение, он допускает, что этим способом нельзя решить все проблемы совместимости. Если пользователь пытается выполнить действие, для которого необходим конкретный сертификат или что-то подобное, прослойки не смогут обойти это требование. Кроме того, у виртуализации по сравнению с прослойками есть по крайней мере одно неоспоримое преимущество: продолжение поддержки со стороны большинства независимых поставщиков программного обеспечения. Этого нельзя сказать о приложениях с "прилепленными" прослойками.
"Если вам и дальше нужна поддержка, прослойки могут быть только временной мерой," ─ заявил Джексон. ─ "В таком случае лучшей стратегией может быть ожидание бесплатного или платного обновления для Windows 7."