Для этого можно воспользоваться как минимум двумя способами.
Первым и самым быстрым способом является использование вкладки Совместимость окна Свойства. Данная вкладка есть во всех окнах Свойства, принадлежащих исполняемым файлам или ярлыкам на них. Ее изображение представлено на рис. 7.9.
Рис. 7.9. Вкладка Совместимость
Вкладка Совместимость содержит следующие области.
• Режим совместимости – именно с помощью флажка данной области можно активировать режим совместимости для конкретной программы. После этого в раскрывающемся списке нужно выбрать операционную систему, которую будет эмулировать Windows Vista. Можно выбрать такие операционные системы, как Windows 95, Windows 98, Windows NT 4.0, Windows 2000, Windows XP SP2 и Windows 2003 Server.
• Параметры – позволяет указать дополнительные параметры запуска программы в совместимом режиме. К ним относятся возможность запуска программы с использованием разрешения экрана 640 х 480, запуск в 256-цветном режиме, запуск с отключенными визуальными темами или с отключенными настройками DPI.
• Уровень прав – с помощью флажка данной области можно указать, что программа для данного пользователя должна запускаться с правами администратора.
Кнопка Параметры для всех пользователей позволяет отобразить вкладку Совместимость, с помощью которой можно настроить параметры запуска программы в режиме совместимости для всех пользователей, а не только для одного.
Вторым же способом запуска программы в режиме совместимости является использование Мастера совместимости программ. Чтобы запустить данный мастер, нужно воспользоваться программой Справка и поддержка, доступ к которой можно получить либо с помощью меню Пуск, либо нажав клавишу F1. Проще всего после запуска программы Справка и поддержка в ее строке поиска ввести Compatibility Wizard. Результатом поиска будет ссылка Запуск мастера совместимости, после выбора которой будет запущен мастер совместимости программ.
Основное окно мастера совместимости программ представлено на рис. 7.10.
Рис. 7.10. Первый шаг мастера совместимости программ
Как и с помощью первого способа установки параметров совместимости программ, с помощью мастера совместимости можно настроить запуск в режиме совместимости не только программ, расположенных на жестком диске, но и программ, расположенных на компакт-диске или DVD. Для этого нужно выбрать соответствующее положение переключателя Каким образом открыть программу, для которой требуется настроить параметры совместимости?.
• Выбрать из списка программ – позволяет выбрать программу из списка программ, найденных на жестком диске. Поиск программ выполняется при каждом запуске мастера совместимости и может занять продолжительное время.
• Использовать программу на компакт-диске – дает возможность выбрать программы, расположенные на компакт-диске или DVD. После установки переключателя в это положение мастер попросит вас вставить диск в привод (если он еще не вставлен), а после этого вы перейдете к шагу выбора параметров совместимости мастера.
• Найти программу вручную – позволяет ввести путь к программе вручную.
После того как вы выберете программу, которую нужно запустить в режиме совместимости, мастер попросит вас указать все те настройки, которые мы рассматривали при описании вкладки Совместимость. Сначала будет предложено выбрать операционную систему, которую нужно эмулировать, потом дополнительные настройки совместимости, а потом определить, будет ли программа запускаться с правами администратора. После этого будет выполнена попытка запуска программы, однако окно мастера закрыто не будет. На последнем шаге мастера вы должны будете ответить на вопросы, работает ли программа корректно и хотите ли вы отослать сведения о работе программы в совместимом режиме корпорации Microsoft.
Хранение сведений о запуске программы в совместимом режиме в реестре
Но как же операционная система определяет, какую программу нужно запускать в совместимом режиме, а какую в обычном? Как часто бывает, для этого используются сведения, хранящиеся в реестре. Сведения обо всех программах, запускаемых в совместимом режиме, хранятся в параметрах строкового типа (каждый параметр описывает сведения о запуске одной программы) ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersion AppCompatFlags Layers (или ветви корневого раздела HKEY_LOCAL_MACHINE, в этом случает программы запускаются в совместимом режиме для всех пользователей). Название параметра данной ветви реестра соответствует пути к программе и ее названию. Значение же параметра состоит из слов, разделенных между собой пробелами. Первое слово определяет операционную систему, которую нужно эмулировать (соответственно, WIN95, WIN98, NT4SP5, WIN2000, WINXPSP2 или WINSRV03SP1), а остальные – дополнительные параметры запуска в совместимом режиме (соответственно, слова 256COLOR, 64 0X4 80, DISABLETHEMES, DISABLEDWM И HIGHDPIAWARE).
В реестре также содержатся сведения о программах, которые не могут работать в новой операционной системе. Если вы попытаетесь установить такую программу, то отобразится окно, сообщающее о том, что данная версия программы несовместима с операционной системой Windows Vista. Данное окно запускается с помощью программы pcaui.ехе, ссылка на которую содержится в параметре REG_EXPAND_SZ-типа ApphelpUIExe, расположенном в ветви реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion AppCompatFlags.
Групповые политики
Механизм совместимости программ, реализованный в операционной системе Windows Vista, как и многие другие компоненты данной операционной системы, можно настроить с помощью групповых политик. Для этого применяется подраздел групповых политик Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Совместимость приложений. Все политики данного подраздела изменяют параметры, расположенные в ветви реестра HKEY_LOCAL_MACHINESOFTWARE PoliciesMicrosof tWindowsAppCompat и имеющие тип REG_DWORD.
• VDMDisallowed – если значение данного параметра равно 1, то запуск 16-разрядных программ подсистемы MS-DOS (файл ntvdm.exe) будет запрещен. Этот параметр доступен и в корневом разделе HKEY_CURRENT_USER.
• DisablePropPage – при установке значения этого параметра равным 1 не будет отображаться вкладка Совместимость окна Свойства исполняемых файлов и ярлыков на них.
• DisableEngine – если значение данного параметра равно 1, то механизм проверки несовместимых с Windows Vista приложений (при запуске приложений) использоваться не будет.
• DisableWizard – при установке значения этого параметра равным 1 будет запрещено отображение мастера совместимости программ.
• DisablePCA – если значение данного параметра равно 1, то помощник по совместимости программ будет отключен. Этот помощник следит за запускаемыми программами и в случае обнаружения неполадок извещает о них пользователя. Параметр доступен и в корневом разделе HKEY_CURRENT_USER....
Примечание
Информация об обнаруженных ассистентом Помощник по совместимости несовместимых с операционной системой Windows Vista программах заносится в журнал подраздела Журналы приложений и служб → Microsoft → Windows → Program-Compatibility-Assistant.
Групповые политики операционной системы Windows Vista также содержат отдельные политики для настройки поведения ассистента Помощник по совместимости программ. Они находятся в подразделе групповых политик Конфигурация компьютера → Административные шаблоны → Система → Диагностика → Диагностика совместимости приложений. Все политики данного подраздела изменяют параметры, расположенные В подразделах ветви HKEY_LOCAL_MACHINESOFTWAREPolicies Microsof tWindowsWDI и имеющие тип REG_DWORD.
• Уведомлять о блокированных драйверах – политика определяет, будет ли ассистент в случае обнаружения невозможности установки драйвера отображать уведомление с предложением найти корректный драйвер на сайте Microsoft. Если данная политика запрещена, то уведомление с предложением поиска другого драйвера отображаться не будет.
Запрещение данной политики присваивает параметру EnabledScenarioExecut i onLeve 1, расположенному в подразделе {affc81e2-612a-4f70-6 f Ь2 -916f f 5c7e3f 8 }, значение 1. Также создается параметр ScenarioExecu-tionEnabled, значение которого равно 1.
• Обнаружение сбоев приложений, вызванных устаревшими библиотеками DLL или СОМ-объектами Windows – указывает, будет ли ассистент следить за установкой приложений и запуском ими устаревших DLL– или СОМ-объектов. Если данная политика включена, то ассистент при обнаружении попытки обращения к устаревшим объектам, из-за которого и происходит сбой установки, отображает окно с отображением сведений об устаревшем объекте и предложением посетить сайт Microsoft для поиска решений возникшей проблемы.
Установка данной политики присваивает параметру EnabledScenarioExecutionLevel, расположенному в подразделе { 65 9F0 8FB-2FAB-42a7-BD4F-566CFA52 87 6 9}, значение 1 или 2. Значение 1 устанавливается, если в раскрывающемся списке Режим запуска сценария политики выбрать Только диагностика и обнаружение. Значение 2 присваивается при выборе Обнаружение, диагностика и решение.