Zespoły C/C++ Side-by-side budynku
A side-by-side zestawu jest kolekcją zasobów — Grupa biblioteki DLL, klasy systemu windows, serwery COM, biblioteki typów lub interfejsy — dostępne do użytku w czasie wykonywania aplikacji.Główną zaletą przepakowanie biblioteki DLL w zestawach jest że wiele wersji Zespoły mogą używane przez aplikacje w tym samym czasie i jest możliwe zestawów aktualnie zainstalowanej usługi w przypadku z aktualizacją zabezpieczeń.
Aplikacji Visual C++ może używać jednego lub kilku bibliotek DLL w różnych częściach aplikacji.W czasie wykonywania biblioteki DLL są ładowane do procesu głównych i wymagany kod jest wykonywany.Wniosek opiera się na system operacyjny, aby zlokalizować żądanej biblioteki DLL, należy zrozumieć, co inne zależne biblioteki DLL muszą być ładowane, a następnie załadować je wraz z żądanej biblioteki DLL.W wersjach systemów operacyjnych Windows wcześniejszych niż Windows XP, Windows Server 2003 i Windows Vista, program ładujący system operacyjny wyszukuje zależne biblioteki DLL w aplikacji folder lokalny lub inny folder określony w ścieżce systemowej.W systemie Windows XP, Windows Server 2003 i Windows Vista, program ładujący systemu operacyjnego można także wyszukiwać zależne biblioteki DLL przy użyciu manifest pliku i wyszukiwania dla zespołów side-by-side, które zawierają te biblioteki DLL.
Domyślnie, gdy biblioteka DLL jest zbudowany z programu Visual Studio, posiada manifest aplikacji osadzony jako zasób RT_MANIFEST o identyfikatorze równą 2.Tylko dla pliku wykonywalnego tym manifeście opisuje zależności tego pliku DLL na innych zestawów.Ten zakłada, że biblioteka DLL nie jest częścią zestawu side-by-side, jak i aplikacje zależne od tej biblioteki DLL nie zamierza używać manifest aplikacji do załadowania go, ale zamiast polegać na moduł ładujący systemu operacyjnego, aby znaleźć tego pliku DLL na ścieżce systemowej.
[!UWAGA]
Jest ważne dla biblioteki DLL, która używa się manifest aplikacji mają manifest osadzony jako zasób o identyfikatorze równą 2.Jeśli biblioteka DLL jest załadowane dynamicznie w czasie wykonywania (na przykład za pomocą LoadLibrary funkcji), program ładujący system operacyjny ładuje zależne zestawy, określone w manifeście biblioteki DLL.Manifest aplikacji zewnętrznej dla biblioteki DLL nie jest sprawdzana podczas LoadLibrary wywołania.Jeśli manifestu nie jest osadzony, moduł ładujący może próbować załadować niepoprawne wersje zestawów lub zakończyć się niepowodzeniem do szukania, znajdowanie zależne zestawy.
Jeden lub kilka związanych z bibliotek DLL może przepakowane w zestawie side-by-side z odpowiednim manifest zestawu, który opisuje pliki, które tworzą Zgromadzenia, jak również zależność zestawu na inne zespoły side-by-side.
[!UWAGA]
Zestaw zawiera jeden biblioteki DLL, zaleca osadzić manifestu zestawu do tej biblioteki DLL jako zasób o identyfikatorze równy 1 i nadaj zestaw prywatny taką samą nazwę, jak biblioteki DLL.Na przykład, jeśli nazwa biblioteki DLL jest mylibrary.dll, wartość atrybutu nazwy używane w <assemblyIdentity> element manifest może być również mylibrary.W niektórych przypadkach, gdy biblioteka ma rozszerzenie, inne niż dll (na przykład projekt formantów ActiveX MFC tworzy bibliotekę ocx) mogą być tworzone manifest zestawu zewnętrznych.W tym przypadku nazwę zestawu i jego manifestu musi być inna niż nazwa biblioteki DLL (na przykład, MyAssembly, MyAssembly.manifest i mylibrary.ocx).Jednakże nadal zaleca się zmienić nazwy tych bibliotek extension.dll i Osadź manifest jako zasób, aby zmniejszyć koszt utrzymania przyszłych tego zestawu.Aby uzyskać więcej informacji na temat w jaki sposób system operacyjny wyszukuje zestawów prywatnych, zobacz Sekwencji wyszukiwanie zestawu.
Ta zmiana może zezwolić wdrażania odpowiadającymi im bibliotekami DLL jako Zestaw prywatny w lokalnym folderze aplikacji lub jako zestawu udostępnionych w folderze WinSxS pamięci podręcznej zestawu.Kilka kroków muszą być przestrzegane w celu osiągnięcia runtime poprawne działanie tego nowego zestawu; zostały one opisane w wytyczne dotyczące zestawów Side-by-side tworzenie.Po asemblowania jest poprawnie napisane można wdrożyć jako albo udostępnioną lub prywatnych zestawu razem z aplikacją, która zależy od niej.Podczas instalowania zestawów side-by-side w zestawie współużytkowanym, może się follow, albo wytyczne przedstawione w Instalowania zestawów Win32 na udostępnianie Side-by-Side w systemie Windows XP lub korespondencji seryjnej modułów.Podczas instalowania zestawów side-by-side jako zestaw prywatny, może po prostu kopiowania odpowiednich manifestu biblioteki DLL, zasobów i montaż jako część procesu instalacji do lokalnego folderu aplikacji na komputerze docelowym zapewnienie, że przez program ładujący w czasie wykonywania można znaleźć tego zestawu (zobacz Sekwencji wyszukiwanie zestawu).Innym sposobem jest użycie Instalator Windows i postępuj zgodnie z wytycznymi podanymi w Instalowania zestawów Win32 do użytku prywatnego aplikacji w systemie Windows XP.
Zobacz też
Koncepcje
Budowanie c i C++ odizolowane aplikacje
Inne zasoby
Budowanie c i C++ odizolowane aplikacje i zespoły Side-by-side