Решение проблем совместимости программ. Установка режима совместимости в Windows Почему в совместимости нет виндовс 7

В двух предыдущих выпусках журнала (TechNet зафевраль 2010 г. и март 2010 г.) обсуждалось, как можно легко использовать службы удаленного рабочего стола (Remote Desktop Services, RDS) или размещенные в Hyper-V виртуальные рабочие столы для создания инфраструктуры удаленных приложений. В такой среде пользователи подключаются к отдельным приложениями или целым рабочим столам, размещенными на корпоративном сервере. Поскольку приложения являются удаленными, то пока у пользователей есть доступ к сети (или даже к Интернету), совершенно неважно, где физически находятся эти пользователи. Подключенным пользователи достаточно нескольких движений мышью, чтобы получить доступ к нужным им инструментам.

Описанные в предыдущих двух выпусках колонки методы очень важны для понимания сегодняшнего выпуска. Во многом описанные в них альтернативные механизмы поставки ПО практически полностью меняют представление о способах подключения пользователей к нужным им приложениям.

Допустим, в вашей небольшой среде есть три унаследованных приложения, у которых лишь небольшие различия в потребностях и характеристиках. Подумайте, как бы вы предоставили пользователям доступ к этим программам (при условии, что нужно обновить системы до Windows 7) в следующих условиях:

  • Приложение А без проблем работает в Windows XP или Windows 7, но администрирование его многочисленных конфигураций и стандартных обновлений - настоящий кошмар. Вместе с тем, приложение А прекрасно работает в среде Windows Server 2008.
  • Приложение B работает в Windows XP, но не в Windows 7. Эта довольно нересурсоемкая программа и используется небольшим числом пользователей.
  • У приложения C также проблемы с совместимостью с Windows 7, но, в отличие от приложения B, ему нужны значительные ресурсы, при этом приложение C нужно только одному или двум пользователям.

Каждое из этих приложений требует различного подхода к поставке пользователям. С приложением А должно быть просто. Поскольку оно работает на Windows Server 2008, то немедленно становится кандидатом на размещение средствами RDS. А многочисленные конфигурации и частые обновления позволяют за раз установить все конфигурации на сервер RDS, что позволит каждому пользователю получить нужное приложение, а нагрузка на администраторов снизится.

Разобраться с приложениями B и C будет немного труднее. Они не совместимы с Windows 7, поэтому не будут работать в Windows Server 2008. Как говорилось, приложение B нужно небольшому числу пользователей и оно относительно нересурсоемкое. Это позволяет разместить его в пуле виртуальных рабочих столов, обслуживаемых Hyper-V и RDS.

У приложения C большая потребность в ресурсах, что ограничивает число одновременно используемых виртуальных рабочих столов, которые можно разместить на одном сервере Hyper-V. Поскольку это приложение необходимо только одному-двум пользователям, оно становится хорошим кандидатом для размещения в режиме совместимости с Windows XP.

Как?

Конечно, оптимальный вариант - ограничение числа приложений, которым нужен режим совместимости с Windows XP. Это связано с недостатком инструментальных средств для автоматизации и централизованного управления службами и виртуальными машинами этого режима. Режим совместимости с Windows XP предназначен для решения проблем к ограниченным использованием только в средах малого и среднего размеров.

Развертывание файлов виртуальной машины на диске клиентов требует выполнения ручных операций или решений на основе сценариев. Нет инструментов централизованного управления параметрами или политиками режима совместимости. Придется вручную устанавливать приложения и исправления на каждый экземпляр виртуальных машин режима совместимости с Windows XP или задействовать специализированные средства, такие как Windows Server Update Services или System Center Essentials.

Также потребуется установить и управлять средствами защиты на клиентах, такими как брандмауэр и антивирусное ПО, на каждой виртуальной машине режима совместимости с Windows XP, а также на самих клиентских машинах, что удвоит нагрузку на администратора. Также следует не забывать, что режим совместимости с Windows XP не поддерживает приложения с трехмерной графикой. И, если среда требует значительной автоматизации или содержит широко распространенные приложения, следует подумать об использовании средства Microsoft Enterprise Desktop Virtualization (MED-V), которое доступно предприятиям только в составе пакета Microsoft Desktop Optimization Pack (MDOP).

У режима совместимости с Windows XP также серьезные требования к оборудованию: компьютер должен поддерживать аппаратную виртуализацию (что можно проверить средствами Microsoft HAV Detection Tool), процессорных ресурсов и оперативной памяти должно быть достаточно для одновременной поддержки основной машины и ее вторичного виртуального образа, и, хотя формально 64-разрядная ОС не требуется, зачастую без этого не удается обойти ограничения на объем оперативной памяти, свойственные 32-разрядным операционным системам Microsoft.

Также могут возникнуть сложности - все зависит планирования создания виртуальных машин в режиме совместимости с Windows XP. При каждой установке режима совместимости с Windows XP виртуальная машина с Windows XP развертывается как VHD-файл. Лицензия на Windows 7 основного компьютера предоставляет пользователю неограниченный доступ к этой виртуальной машине, но только к ней. Можно создать собственную нестандартную виртуальную машину для режима совместимости с Windows XP, но тогда придется потратиться на дополнительную лицензию.

При установке режима совместимости с Windows XP придется установить Windows Virtual PC. Все это можно найти на странице загрузки Windows Virtual PC. Там же есть отдельные ссылки для этих двух компонентов, причем предлагается сначала установить режим совместимости с Windows XP.

Установив оба компонента, откройте Пуск (Start) и запустите Windows XP Mode из папки Windows Virtual PC. При первом запуске режима совместимости с Windows XP предлагается указать папку для установки, а также имя пользователя и пароль учетной записи XPMUser (см. рисунок). Это локальная учетная запись в основной ОС, являющаяся членом группы локальных администраторов. Она будет использоваться для запуска приложений в режиме Windows XP из основной ОС.


По завершении мастера установки гостевая ОС по умолчанию будет запущена и произойдет вход в систему. Окно впервые запущенной гостевой ОС показано на рисунке. Машине присваивается имя в формате \\\\VirtualXP- xxxxx , где xxxxx - случайный набор чисел Она состоит членом рабочей группы, но ее можно присоединить к домену, если требуется контекст доменной учетной записи.


Теперь мы готовы к заключительному шагу - установке приложения в гостевую ОС. Это можно сделать как вручную, так и используя решение развертывания приложений. Установленное для работы в режиме совместимости с Windows XP гостевое приложение можно запустить автоматически из меню "Пуск" основной машины (рис. 3 ).

Чтобы использовать интеграцию запуска, перед запуском гостевой виртуальной машины из меню Пуск основного компьютера нужно выйти из системы гостевой виртуальной машины и закрыть ее. Есть другой вариант: пользователи могут работать с полным рабочим столом гостевой виртуальной машины, щелкнув ссылку с отметкой Windows XP Mode. Если гостевая виртуальная машина не используется, она переходит в спящий режим, что сокращает время повторного ее запуска, когда она понадобится снова.

Как видите, режим совместимости с Windows XP действительно предоставляет виртуализацию на рабочем столе, а также ОС внутри другой ОС. Он также предоставляет механизм, полностью избавляющий от сложностей совместимости за счет предоставления поддерживаемой операционной системы. Хотя число инструментов администрирования режима совместимости с Windows XP ограничено, а требования к оборудованию довольно высоки, это решение все-таки позволяет устранить препятствия на пути к обновлению ОС. Только не забывайте, что это лишь один из вариантов решения ваших проблем.


Совместимость существующих приложений с операционной системой Microsoft Windows Vista (и выходящей в этом году операционной системой Windows 7, построенной на ядре Windows Vista) является одной из основных проблем, с которой могут столкнуться пользователи, переходящие на новую версию операционной системы. Несмотря на усилия, прилагаемые компанией Microsoft, некоторые производители программного обеспечения продолжают использовать устаревшие функции операционной системы, некорректно выполняют операции по проверке версий ОС (более 50% всех отказов в запуске приложений), не следуют рекомендациям по работе с файловой системой и, часто, не руководствуются советами по обеспечению корректной работы приложений в новых версиях системы. Все это приводит к тому, что в операционной системе Microsoft Windows Vista есть более 5600 «системных заплаток» (shims) для обеспечения корректной работы приложений различных производителей – от утилит китайских производителей до крупных продуктов известных фирм. В Windows 7 число «системных заплаток» увеличилось – в бета-версии новой операционной системы их насчитывается более 5700!

Можно выделить три основных подхода к обеспечению совместимости приложений – использование упомянутых выше «системных заплаток», запуск приложения в виртуальной среде (терминальные сервисы или использование Microsoft Application Virtualization) и, изменение кода приложения таким образом, чтобы оно соответствовало требованиям по корректной работе в операционной системе – для этого служат руководства по сертификации приложений для получения логотипов Works With Windows Vista и Certified for Windows Vista, а также соответствующие тест-кейсы, которые можно найти на сайте в разделе, посвященном Windows Vista.

Описанные выше ключевые причины несовместимости приложений вынудили компанию Microsoft реализовать на уровне ядра операционной системы специальный механизм, известный под названием Application Compatibility Infrastructure , в задачу которого входит имитация функционирования ОС в режиме совместимости с предыдущими версиями и, в ряде случаев, даже внесение ошибок, на наличие которых завязана функциональность приложений сторонних разработчиков – даже в том случае, когда эти ошибки обнаружены и устранены в текущей версии ОС.

Средства обеспечения совместимости можно условно разделить на три уровня: средства операционной системы, набор бесплатных утилит, «заплатки», создаваемые специалистами Microsoft.

Средства операционной системы

На уровне операционной системы (как 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)

При выборе режима совместимости для приложения включается набор системных «заплаток», которые эмулируют выбранную версию операцинной системы.

Опции в группе «Параметры» позволяют, не изменяя самой среды выполнения, задать некоторые режимы, которые помогут функционированию приложения – число цветов, разрешение экрана, масштабирование в режиме HiDPI и т.д.

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

Все изменения, внесенные в данной диалоговой панели, хранятся в системном реестре – в ветви HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrent VersionAppCompatFlagsLayers

В приведенном выше примере мы использовали два средства обеспечения совместимости – т.н. «уровень совместимости» - в нашем случае и Windows XP SP2 – и две системные «заплатки» - DisableThemes и RunAsAdmin .

В 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 мы попадаем в набор экранов, которые позволяют нам либо выбрать приложение из списка, либо указать новое приложение и, ответив на ряд вопросов, попытаться решить проблемы, связанные с совместимостью.

Program Compatibility Troubleshooter – выбор приложения

Program Compatibility Troubleshooter – категории проблем

Program Compatibility Troubleshooter – выбор версии ОС

Program Compatibility Troubleshooter – тестирование приложения

Program Compatibility Troubleshooter – применение настроек

Как видно из приведенных выше иллюстраций, Program Compatibility Troubleshooter позволяет не только выбрать определенные настройки, но и проверить работоспособность приложения и, при необходимости, вернуться в панель настроек – в этом основное отличие данного средства от непосредственного использования панели «Совместимость» в Windows Vista.

Многие проблемы, связанные с совместимостью приложений могут быть решены применением настроек на уровне панели «Совместимость» в Windows Vista или средства Program Compatibility Troubleshooter в Windows 7, но в ряде случаев может потребоваться «тяжелая артилерия».

Продолжение следует...

Предназначен для установки и запуска приложений или драйверов, написанных для более ранних версий ОС, таких как Windows Vista, Windows XP и т.п.

Рекомендуется сначала проверить обновление программы или драйвера на сайте производителя. Если версии для Windows 7 нет, можно попробовать установить и запустить в режиме совместимости программу (или драйвер) предназначенную для Windows Vista или Windows XP. Сразу оговорюсь, что программа, запущенная таким способом может работать некорректно или не работать совсем, но за неимением лучших вариантов, пробуем использовать этот.

Внимание! Не используйте режим совместимости для системных программ, таких как: антивирусы, утилиты для работы с дисками, твикеры, чистилки и т.д., это может привести к повреждению системы.

Установка или запуск приложения с помощью средства устранения проблем с совместимостью программ

Щелкните по ярлыку приложения или по установочному файлу (setup.exe, install.exe и т.п.) правой клавишей мыши и выберите "Исправление неполадок совместимости ".

Если вы решили узнать, как включить или отключить режим совместимости в операционной системе Windows, то вы однозначно обратились по адресу . Но для начала давайте ответим на такой вопрос: что же такое режим совместимости? Для чего он может быть нужен?

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

Итак, некий разработчик (назовём его Валерий) создал программу VolterSide (наименование программы взято произвольно) и выпустил этот продукт для операционной системы Windows XP. Для пользователей этого программного обеспечения всё было хорошо, пока не пришли пора обновлять свой компьютер или ноутбук на более усовершенствованную версию ОС под названием Windows 7 (или же 10). Как оказалось, VolterSide не открывается в установленной системе. Пользователи невольно начинают задумываться: а почему приложение не работает на новой современной системе, когда старая всё прекрасно открывает?

Дело в том, что Валерий не выпустил обновление для своего продукта, которое внедрило бы поддержку новых ОС. Его программа так и осталась жить в прошлом. Но что делать тем людям, которым нужна современность в плане работы операционной системы? Не будут же они пользоваться Windows XP, к примеру, потому что VolterSide работает только в этой версии системы Виндовс. Вот тут на помощь и может вам прийти режим совместимости в Windows 7 или 10.

Но также стоит обратить внимание на тот факт, что эта функция поможет не только в работе приложений, но также и драйверов. То есть, если у вас имеются колонки (клавиатура, монитор - что угодно), и они по каким-то причинам перестали работать после обновления ОС, то вы можете попробовать запустить и установить их драйвера в режиме совместимости.

Как включить режим совместимости в Windows 7 или 10?

Устранение неполадок

Ну вот и мы дошли до главного вопроса сегодняшнего обсуждения. Не будем долго тянуть резину и перейдём сразу к вашим действиям:

  1. Находим ярлык (или оригинальный файл) запуска программы или драйвера, который вы не могли запустить.
  2. Кликаем по нему правой кнопкой мыши и заходим в «Устранение неполадок совместимости».
  3. Теперь вам нужно внимательно читать, что предлагают окна помощи. Сначала выбираем режим работы нашего помощника: диагностика программы. Жмём «Далее».
  4. В окне появляется вопрос о том, какие проблемы вы заметили при запуске. В нашем случае подходит первый вариант о работе приложения в предыдущих версиях Windows.
  5. Далее, выбираем ту самую версию операционной системы, в которой у вас было все замечательно. Например, это была Windows Vista. Значит мы кликаем по ней, а потом жмём «Далее». Если вы не уверены в том, какая из версий подходила для ПО (например, при первичном скачивании приложения на компьютер), то придётся пробовать каждую.
  6. Теперь окно устранения неполадок покажет небольшой отчёт о том, что же мы с вами выбрали. Если всё верно, то кликаем по кнопке «Запуск программы ».
  7. После удачного запуска приложения обязательно сохраните эти параметры для программы. В противном случае попробуйте другие варианты решения или же отправьте отчёт в Microsoft. К сожалению, шанс того, что вам ответят - очень мал. Но если таких писем к ним будет достаточное количество, то они могут исправить проблему в будущих обновлениях.

Изменение параметров вручную. Включаем или отключаем режим самостоятельно

Предыдущий метод, конечно, никто не отменял, но он занимает некоторое время. Если же вам не нужно, чтобы система сама анализировала и тестировала программу, то вы можете сами настроить параметры вручную. Метод практически ничем не отличается от предыдущего в плане того, как поставить режим совместимости в Windows 7 или 10. Также вы сможете не только включить, но и благополучно отключить его. Итак, начнём:

  1. Как и в предыдущей инструкции, жмём правой кнопкой мыши по ярлыку или оригиналу программы. Но теперь нужно будет выбрать последний пункт «Свойства».
  2. В появившемся окне откройте вкладку «Совместимость» и нажмите галочку возле пункта о запуске программы в режиме совместимости.
  3. В поле, расположенным чуть ниже, необходимо выбрать версию операционной системы.
  4. По мере надобности можете установить некоторые параметры (Использование 256 цветов, специальное разрешение экрана и другие). Это может также сыграть свою роль при запуске в режиме совместимости.
  5. Жмём «Применить» и затем «ОК». Теперь можете попробовать запустить программу или драйвер.
  6. Чтобы отключить эту функцию, надо просто убрать галочку, которую вы ставили на втором этапе.

Не помогает? Не беда!

На самом деле этот режим помогает в единичных случаях. Потому что практически все свои программы известные производители и разработчики сразу готовят к работе с новыми операционными системами. В противном случае может быть такое, когда неполадки связаны совсем не с тем, что ПО предназначено для других версий ОС. Тогда можно попробовать провести диагностику (первая инструкция, второй пункт). Только на этот раз выбираем не первый вариант, а ставим галочку напротив других. Так, методом исключения, можно выявить реальную проблему.

Итоги

Подводя итоги сегодняшнего обсуждения того, как включить или отключить режим совместимости в Windows 10 или 7, можно сказать следующее: функция действительно полезная и нужная. Она может помочь тогда, когда другие средства либо недоступны, либо бессильны. Поэтому не стоит недооценивать встроенные возможности операционной системы Microsoft и ставить на них крест. Делимся в комментариях: смогли ли вы запустить программу или драйвер в режиме совместимости? Если нет, то какой способ помог именно вам?

Официального сайта корпорации Microsoft, посвященном Windows 7, стала доступна бета-версия программной утилиты, служащей для проверки Вашего компьютера на совместимость с будущей операционной системой.

Windows 7 Upgrade Advisor - именно так названа программа, сможет оценить Ваш компьютер и имеющееся в нем аппаратное и программное обеспечение на соответствие самым минимальным требованиям, необходимым для работы . Сама утилита представляет собой автономный msi-пакет, после установки которого происходит четырехэтапная проверка компьютера по следующим параметрам: частота ЦП, величина объема ОЗУ RAM, дисковое пространство винчестера и характеристики видеоадаптера. В ходе проверки утилита собирает краткую информацию об основных установленных программах и сравнивает их с предварительной спецификацией совместимости с будущей ОС.

Отметим, что на этот раз Windows 7 Upgrade Advisor не дает пользователю рекомендаций об установке той или иной редакции Windows 7 – она лишь сообщает о том, можно ли ВООБЩЕ установить на данную машину Windows 7, а в случае работы под Vista – может подсказать до какой из редакций будущей ОС возможно обновление.

Из-за сомнения некоторых пользователей относительно стабильной работы режима в Windows 7, ведущие производители процессоров составили список своих «камней», на которых этот режим аппаратно Не поддерживается:
Intel Celeron;
Intel Pentium M;
Intel Pentium Dual Core;
AMD Sempron.

Если Ваш процессор не присутствует в списке, то смело можете рассчитывать на то, что технология аппаратной виртуализации для Вас доступна и Windows XP Mode будет работать.

Программа Windows 7 Upgrade Advisor отлично работает под управлением ,