Одним из ключевых препятствий для перехода на новую версию операционной системы Windows, в частности Windows Vista и Windows 7, является некорректная работа устаревших, но все еще используемых в организации приложений. Большая часть проблем совместимости, как правило, кроется в некорректных вызовах приложениями функций ОС. Сейчас я объясню вам, как пользоваться средствами по обеспечению совместимости приложений, адаптировать код приложений для обеспечения совместимости, а так же научитесь пользоваться стандартными средствами совместимости, включенными в состав ОС Windows.
Материалы для пользователей
Любая версия Windows (Windows XP, Windows Vista и Windows 7) содержит простой в использовании механизм по обеспечению совместимости с предыдущими версиями Windows.
На уровне операционной системы (как Windows Vista, так и Windows 7) существет механизм, позволяющий выполнять приложения в режиме совместимости. В Windows Vista и Windows 7 этот механизм доступен при нажатии правой кнопки «мыши» на названии исполняемого файла, выборе команды «Свойства» и переключении на вкладку «Совместимость» в диалоговой панели «Свойства».
Панель разделена на 3 группы – «Режим совместимости», «Параметры» и «Уровень прав». Опции в группе «Режим совместимости» позволяют запустить приложение в режиме совместимости с одной из следующих версий операционной системы Windows:
* Windows 95; Windows 98/Me; Windows NT4 (SP5); Windows 2000; Windows XP (SP2); Windows Server 2003 (SP1); Windows Vista (в Windows 7)
При выборе режима совместимости для приложения включается набор системных «заплаток», которые эмулируют выбранную версию операционной системы.
Опции в группе «Параметры» позволяют, не изменяя самой среды выполнения, задать некоторые режимы, которые помогут функционированию приложения – число цветов, разрешение экрана, масштабирование в режиме высокого разрешения экрана (HiDPI) и т.д.
И, наконец, в тех случаях, когда приложению требуется выполнение под учетной записью администратора (либо из-за проверки, встроенной непосредственно в код приложения, либо из-за обращения к административным функциям системы, приложение можно запустить от имени администратора.
В Windows 7 появился более простой интефейс, позволяющий включать механизмы обеспечения совместимости приложений с текущей версией операционной системы.
Данный интерфейс называется Program Compatibility Troubleshooter – он вызывается через Control Panel | Troubleshooting | Programs | Run programs made for previous versions of Windows или из командной строки командой
%systemroot%/system32/msdt.exe –id PCWDiagnostic
При вызове Program Compatibility Troubleshooter мы попадаем в набор экранов, которые позволяют нам либо выбрать приложение из списка, либо указать новое приложение и, ответив на ряд вопросов, попытаться решить проблемы, связанные с совместимостью.
P.S. Этим способом решается большинство проблем по совместимости программ с Windows 7.