Приложение, написанное для определенной операционной системы, может принести проблемы при инсталляции на компьютер с другой операционной системой. Так как это может произойти по ряду причин. Для эффективного решения проблем и устранения неполадок, важно быть в курсе обычно вызывающих большинство проблем совместимости общих причин.
Как правило, приложения и аппаратное обеспечение, работающее на Windows Vista, продолжит работать и на Windows 7. В следующем примере показано несколько проблемных областей совместимости приложений Windows 7.
1. Запуск и установка приложения: во время запуска и установки приложения помешать установке должным образом могут две распространенные проблемы:
• Приложения пытаются копировать файлы и ярлыки для папок, которые были правомочны для предыдущей операционной системы Windows, но не существуют в новой операционной системе.
• Приложения пытаются сослаться на компоненты Windows, которые в Windows 7 были переименованы.
2. Контроль пользовательской учетной записи (UAC): UAC увеличивает безопасность Windows, ограничивая доступ к компьютеру без уровня администратора, что ограничивает запуск приложений большинству пользователей, в качестве обычных пользователей. Также UAC ограничивает контекст, в котором выполняется процесс, чтобы свести к минимуму возможность пользователей непреднамеренно подвергнуть свой компьютер заражению вирусами или другими вредоносными программами.
UAC может иметь следующие проблемы совместимости:
• Некоторые установщики, деинсталляторы и обновление не будет работать без повышения статуса до администраторского.
• Стандартные пользовательские приложения, требующие для выполнения своих задач прав администратора, могут не выполнять свою задачу для стандартных пользователей.
• В приложениях, пытающихся выполнить задачи для текущих, не имеющих необходимых прав, пользователей, может произойти сбой. Вид сбоя приложения зависит от того, как оно было написано.
• Панель управления приложения, которая выполняет административные задачи и вносит в них глобальные изменения, может не функционировать должным образом и давать сбой.
• DLL библиотеки приложений, которые запускаются с помощью RunDLL32.exe, если они выполняют глобальные операции, могут работать неправильно.
• Запись стандартным пользователем приложений в глобальное расположение будет перенаправлено для каждого пользователя с помощью виртуализации.
3. Windows Resource Protection (WRP): WRP предназначен для защиты ресурсов Windows (файлов, папок, реестра) в режиме только для чтения. Установщики приложений пытавшиеся заменить, изменить или удалить находящиеся под защитой WRP файлы операционной системы и/или ключи реестра могут вызвать сбой с сообщением об ошибке, указывающем на невозможность обновления ресурса.
4. Защищенный режим Internet Explorer: Защищенный режим Internet Explorer помогает защититься от атак с несанкционированным получением прав, ограничивая возможность записи для любой зоны ресурсов локального компьютера, за исключением временных файлов Интернета.
Приложения, использующие Internet Explorer и пытающиеся сделать запись непосредственно на диск во время нахождения в Интернете или интрасети, могут вызвать сбой.
5. 64-битная архитектура: Windows 7 полностью поддерживает 64-битную архитектуру. Приложения или компоненты, использующие 16-битные исполняемые файлы, 16-битные установщики или 32-битные драйвера ядра, могут вызвать сбой при запуске или будут неправильно функционировать.
6. Windows Filtering Platform (WFP): WFP интерфейс прикладного программирования (API), позволяющий разработчикам создавать код, взаимодействующий с фильтрацией, происходящей на нескольких уровнях сетевого режима и во всей операционной системе. Если вы в своей системе пользуетесь предыдущей версией API, у вас могут возникнуть сбои при работе приложений связанных с безопасностью, таких как сканеры сети, антивирусные программы или фаерволы.
7. Изменение версии операционной системы: номер версии операционной системы изменяется с каждым новым релизом. Для Windows Vista внутренний номер версии - 6, в то время как у Windows 7 внутренний номер версии - 6.1.
Это изменение влияет на любое работающее приложение или установщика приложения, которые специально проверяют версию операционной системы, что может помешать происходящей установке или запуску приложения.
8. Драйвера ядра: драйвера ядра должны поддерживать операционную систему Windows 7 или быть обновлены с помощью User-Mode Driver Framework (UMDF). UMDF — это платформа усовершенствования драйверов устройств, которая была введена в Windows Vista.
9. Устаревшие компоненты: релиз Windows 7 также поднял вопросы к устаревшим API или библиотекам DLL из Windows XP и Windows Vista, новым фреймворком и изоляцией служб. Это становиться причиной для приложений, использующих устаревшие API-интерфейсы или библиотеки DLL, использующих старые учетные данные или не поддерживающих изоляции служб терять функциональность или не запускаться.