Baza danych zgodności aplikacji

Infrastruktura zgodności używa bazy danych do identyfikowania problemów ze zgodnością aplikacji i ich rozwiązań. Ta baza danych jest indeksowanym plikiem binarnym z rozszerzeniem sdb. Infrastruktura zgodności udostępnia interfejs programowania umożliwiający dostęp do bazy danych.

Problemy ze zgodnością można rozwiązać na podstawie aplikacji w czasie wykonywania. Każda aplikacja określona w bazie danych zawiera co najmniej jeden składnik, który wymaga rozwiązania. Składniki to pliki wykonywalne, które są zwykle opisywane przy użyciu atrybutów pliku (na przykład sumy kontrolnej).

Proces wyszukiwania bazy danych i określania rozwiązań dla każdej aplikacji jest nazywany dopasowania. Atrybuty pliku i obecność skojarzonych plików w folderze lub podfolderze zawierającym plik .exe mogą służyć do tworzenia unikatowego dopasowania. Skojarzone pliki są nazywane pasującymi plikami.

TAG jest unikatowym identyfikatorem wpisów i atrybutów w bazie danych. Typ tagu wskazuje format danych skojarzonych z TAG. Na przykład TAG_NAME jest typu TAG_TYPE_STRINGREF; dane dla TAG_NAME to ciąg nazwy. TAGID jest wskaźnikiem do wpisu w określonej bazie danych. TAGREF jest wskaźnikiem do wpisu, który może być używany w wielu bazach danych.

atrybuty pliku są metadanymi skojarzonymi z plikiem na dysku. Te atrybuty obejmują nazwę pliku, rozmiar pliku, sumę kontrolną, wersję i datę. Te atrybuty służą do określania, czy plik ładowany przez system jest zgodny z wpisem bazy danych. W związku z tym te atrybuty pliku są również nazywane pasujących atrybutów.

Rozwiązania

Najbardziej typowe rozwiązania stosowane do składników aplikacji to Apphelp i Appfix.

W przypadku aplikacji Apphelp jest wyświetlane niestandardowe zlokalizowane powiadomienie o wiadomościach, zwykle po zainstalowaniu lub uruchomieniu aplikacji. Zawiera krótki tekst, który wyjaśnia problem ze zgodnością i udostępnia opcję kontynuowania działania aplikacji. Jednak niektóre aplikacje nie będą mogły zostać uruchomione w sposób dramatyczny; Aplikacja Apphelp nie da użytkownikowi możliwości kontynuowania uruchamiania tych aplikacji.

Za pomocą poprawki aplikacji haki są instalowane dla interfejsów API wywoływanych przez składniki aplikacji. Te punkty zaczepienia wskazują na funkcje wycinkowe, które mogą być wywoływane zamiast funkcji systemowych (znanych również jako podkładanie). Funkcje wycinków wykonują operacje niezbędne do umożliwienia uruchamiania aplikacji w zainstalowanej wersji systemu Windows. Każda funkcja wycinkowa może opcjonalnie wywołać funkcję systemową po zakończeniu pracy. Warstwa zgodności lub tryb zawiera co najmniej jedną podkładkę i flagi.

W tej sekcji