Pojęcia związane z aplikacjami izolowanymi oraz aplikacjami wykonywanymi równocześnie
Aplikacja jest uznawana za aplikację izolowaną, jeśli wszystkie jej składniki są zestawami równoległymi.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ć wykorzystywane przez wiele aplikacji, które określają w swoich manifestach zależność od takiego 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 wdrożony wraz z aplikacją do wyłącznego użytku przez tę aplikację.Zestawy prywatne są instalowane w folderze, który zawiera plik wykonywalny aplikacji, lub w jednym z jego podfolderów.
Manifesty i kolejność wyszukiwania
Zarówno aplikacje izolowane, jak i zestawy równoległe są opisane przez manifesty.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ć informacji, zobacz Zestawy prywatne.
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 Kolejność wyszukiwania zestawu.
Zmiana zależności
Możesz zmienić zależności zestawu równoległego po wdrożeniu aplikacji, modyfikując Pliki konfiguracyjne wydawcy i Pliki konfiguracyjne 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, które są tworzone przy użyciu języka Visual C++, są kompilowane z manifestem osadzonym w końcowym pliku binarnym, a manifest zawiera opis zależności pliku binarnego od bibliotek Visual C++.Aby się zapoznać z generowaniem manifestu aplikacji Visual C++, zobacz Ogólne informacje o tworzeniu 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 wdrożeń, zobacz Wdrożenie w Visual C++.
Zobacz też
Inne zasoby
Kompilowanie aplikacji izolowanych C/C++ oraz aplikacji wykonywanych równocześnie