Pojęcia związane z aplikacjami izolowanymi oraz aplikacjami wykonywanymi równocześnie

Aplikacja jest traktowana jako aplikacja izolowana, jeśli wszystkie jej składniki są zestawami side-by-side. Zestaw równoległy to zbiór zasobów — grupa bibliotek DLL, klas okien, serwerów COM, bibliotek typów lub interfejsów — które są wdrożone razem i udostępniane aplikacji do użytku w czasie wykonywania. Zwykle zestaw równoległy ma postać jednej lub kilku bibliotek DLL.

Współużytkowany lub prywatny

Zestaw równoległy może być współużytkowany lub prywatny. Współużytkowane zestawy równoległe mogą być używane przez wiele aplikacji, które określają w ich manifestach zależność od zestawu. Wiele wersji zestawu równoległego może być współużytkowanych przez różne aplikacje, które są uruchomione w tym samym czasie. Zestaw prywatny to zestaw , który jest wdrażany razem z aplikacją do wyłącznego użytku tej aplikacji. Zestawy prywatne są instalowane w folderze, który zawiera plik wykonywalny aplikacji, lub w jednym z jego podfolderów.

Manifesty i kolejność wyszukiwania

Manifesty opisują zarówno izolowane aplikacje, jak i zestawy równoległe. Manifest to dokument XML, który może być plikiem zewnętrznym, może też być osadzony w aplikacji lub zestawie jako zasób. Plik manifestu aplikacji izolowanej jest używany do zarządzania nazwami i wersjami współużytkowanych zestawów równoległych, z którymi aplikacja powinna być związana w czasie wykonywania. Manifest zestawu równoległego określa nazwy, wersje, zasoby i zestawy zależne zestawów równoległych. Manifest współużytkowanego zestawu równoległego jest zainstalowany w folderze %WINDIR%\WinSxS\Manifests\. W przypadku zestawu prywatnego zaleca się włączenie jego manifestu do biblioteki DLL jako zasobu, którego identyfikator jest równy 1. Możesz również nadać zestawowi prywatnemu taką samą nazwę, jaką ma biblioteka DLL. Aby uzyskać więcej informacji, zobacz About Private Assemblies (Informacje o zestawach prywatnych).

W czasie wykonywania system Windows używa informacji o zestawie z manifestu aplikacji, aby wyszukać i załadować odpowiedni zestaw równoległy. Jeśli aplikacja izolowana określa zależność od zestawu, system operacyjny najpierw szuka zestawu wśród zestawów współużytkowanych w pamięci podręcznej macierzystego zestawu w folderze %WINNDIR%\WinSxS\. Jeśli wymagany zestaw nie zostanie znaleziony, system operacyjny wyszukuje zestaw prywatny w folderze struktury katalogów aplikacji. Aby uzyskać więcej informacji, zobacz Sekwencja wyszukiwania zestawów.

Zmiana zależności

Zależności zestawu równoległego można zmienić po wdrożeniu aplikacji, modyfikując pliki konfiguracji programu Publisher i pliki konfiguracji aplikacji. Plik konfiguracyjny wydawcy, znany również jako plik zasad wydawcy, to plik XML, który globalnie przekierowuje aplikacje i zestawy z korzystania z jednej wersji zestawu równoległego do korzystania z innej wersji tego samego zestawu. Na przykład, możesz zmienić zależność, gdy w zestawie równoległym zostanie naprawiony błąd lub wprowadzona poprawka bezpieczeństwa i chcesz przekierować wszystkie aplikacje tak, aby używały poprawionej wersji. Plik konfiguracyjny aplikacji to plik XML, który przekierowuje określoną aplikację z korzystania z jednej wersji zestawu równoległego do korzystania z innej wersji tego samego zestawu. Pliku konfiguracyjnego aplikacji można użyć do przekierowania określonej aplikacji tak, aby korzystała z wersji zestawu równoległego innej niż ta, która jest zdefiniowana w pliku konfiguracyjnym wydawcy. Aby uzyskać więcej informacji, zobacz Konfiguracja.

Biblioteki Visual C++

W programie Visual Studio 2005 i Visual Studio 2008 redystrybucyjne biblioteki, takie jak biblioteki ATL, MFC, CRT, Standard C++, OpenMP i MSDIA zostały wcześniej wdrożone jako współużytkowane zestawy równoległe w pamięci podręcznej zestawu macierzystego. W bieżącej wersji, redystrybucyjne biblioteki używają centralnego wdrożenia. Domyślnie wszystkie aplikacje kompilowane przy użyciu programu Visual Studio są kompilowane z manifestem osadzonym w ostatnim pliku binarnym, a manifest opisuje zależności danych binarnych w bibliotekach Visual C++. Aby zrozumieć generowanie manifestu dla aplikacji języka C++, zobacz Understanding Manifest Generation for C/C++ Programs (Opis generowania manifestu dla programów C/C++). Manifest nie jest wymagany w przypadku aplikacji, które są statycznie łączone z używanymi bibliotekami, lub które używają lokalnego wdrożenia. Aby uzyskać więcej informacji na temat wdrażania, zobacz Wdrażanie w języku Visual C++.

Zobacz też

Kompilowanie aplikacji izolowanych C/C++ oraz aplikacji wykonywanych równocześnie