Поделиться через


База данных совместимости приложений

Инфраструктура совместимости использует базу данных для выявления проблем совместимости приложений и их решений. Эта база данных является индексированным двоичным файлом с расширением SDB. Инфраструктура совместимости предоставляет интерфейс программирования для доступа к базе данных.

Проблемы совместимости можно устранить на основе приложения по приложениям во время выполнения. Каждое приложение, указанное в базе данных, содержит один или несколько компонентов, которым требуется решение. Компоненты — это исполняемые файлы, которые обычно описываются с помощью атрибутов файлов (например, проверка sum).

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

ТЕГ — это уникальный идентификатор записей и атрибутов в базе данных. Тип TAG указывает формат данных, связанных с ТЕГом. Например, TAG_NAME имеет тип TAG_TYPE_STRINGREF; данные для TAG_NAME — строка имени. TAGID — это указатель на запись в определенной базе данных. TAGREF — это указатель на запись, которую можно использовать в нескольких базах данных.

Атрибуты файла — это метаданные, связанные с файлом на диске. Эти атрибуты включают имя файла, размер файла, проверка сум, версию и дату. Эти атрибуты используются для определения того, соответствует ли файл, загруженный системой, записи базы данных. Поэтому эти атрибуты файла также называются соответствующими атрибутами.

Решения

Наиболее распространенными решениями, применяемыми к компонентам приложения, являются Apphelp и Appfix.

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

При использовании Appfix перехватчики устанавливаются для API, вызываемых компонентами приложения. Эти перехватчики указывают на заглушки функций, которые можно вызывать вместо системных функций (также известных как shimming). Функции заглушки выполняют операции, необходимые для запуска приложения в установленной версии Windows. Каждая заглушка может при необходимости вызывать системную функцию после завершения работы. Уровень совместимости или режим содержит один или несколько шима и флагов.

В этом разделе