Wdrożenie w Visual C++
Przy wdrażaniu aplikacji Visual C++ na innym komputerze, należy zainstalować zarówno aplikację, jak i wszystkie pliki bibliotek, od których ona zależy.Jeśli biblioteka zostanie zaktualizowana — na przykład, kiedy zostaną poprawione luki w zabezpieczeniach — zwykle chcesz zastosować aktualizację wszędzie tam, gdzie aplikacja jest wdrożona.
Visual Studio pozwala na trzy sposoby wdrożenia bibliotek Visual C++ wraz z aplikacją: wdrożenie centralne, wdrożenie lokalne i łączenie statyczne.Firma Microsoft automatycznie aktualizuje swoje biblioteki, które są wdrożone centralnie.W przypadku bibliotek Visual C++, które są wdrożone lokalnie lub łączone statycznie, aktualizacje musi zapewnić autor aplikacji.
Wdrożenie centralne
We wdrożeniu centralnym, pliki biblioteki Visual C++ są instalowane w katalogu %windir%\system32\.Aby wdrożyć centralnie biblioteki Visual C++, można użyć jednej z opcji:
Pliki pakietu redystrybucyjnego, są to autonomiczne pliki wykonywalne wiersza polecenia, których można użyć do zainstalowania redystrybucyjnych bibliotek Visual C++.
Redystrybucyjne moduły scalania (pliki .msm), których można użyć do wdrożenia określonych bibliotek i które dołącza się do pliku Instalatora Windows (msi).
Plik pakietu redystrybucyjnego instaluje biblioteki Visual C++ dla określonej architektury systemu.Możesz zaprogramować instalator aplikacji tak, aby uruchamiał go jako warunek wstępny, przed zainstalowaniem aplikacji.Moduł scalania umożliwia włączenie logiki instalatora dla określonej biblioteki Visual C++ w pliku ustawień Instalatora Windows dla aplikacji.Można dołączyć dowolną liczbę modułów scalania, w zależności od wymagań aplikacji.
Ponieważ centralne wdrożenie bibliotek Visual C++ przy użyciu pakietu redystrybucyjnego umożliwia automatyczne aktualizowanie przez firmę Microsoft, zaleca się używanie dynamicznego łączenia i pakietów redystrybucyjnych dla aplikacji.
Wdrożenie lokalne
W przypadku wdrożenia lokalnego pliki bibliotek są instalowane w folderze aplikacji wraz z plikiem wykonywalnym.Różne wersje bibliotek można zainstalować w tym samym folderze, ponieważ nazwa pliku każdej wersji jest unikatowa dzięki włączeniu jej numeru wersji.Na przykład wersja 12 biblioteki wykonawczej C to msvcr120.dll.
Ponieważ Microsoft nie może automatycznie aktualizować lokalnie wdrożonych bibliotek Visual C++, stanowczo zalecamy, aby unikać lokalnego wdrażania tych bibliotek.Jeśli zdecydujesz się użyć lokalnego wdrożenia redystrybucyjnych bibliotek, zaleca się zaimplementowanie własnej metody automatycznego aktualizowania lokalnie wdrożonych bibliotek.
Łączenie statyczne
Możesz statycznie połączyć bibliotekę Visual C++ z aplikacją — to znaczy, wkompilować ją w aplikację — tak że nie trzeba wdrażać oddzielnie plików bibliotek Visual C++.Odradzamy jednak takie podejście, ponieważ statycznie łączonych bibliotek nie można zaktualizować osobno.Jeśli korzystasz z łączenia statycznego i chcesz zaktualizować połączoną bibliotekę, musisz zrekompilować i ponownie wdrożyć aplikację.
Rozwiązywanie problemów
Kolejność ładowania bibliotek Visual C++ jest zależna od systemu.Aby zdiagnozować problemy z modułem ładowania, użyj depends.exe lub where.exe.Aby uzyskać więcej informacji, zobacz Kolejności przeszukiwania bibliotek dołączanych dynamicznie (Windows).