Udostępnij za pośrednictwem


Wybieranie metody wdrażania

Zalecamy użycie Instalatora Windows do wdrożenia. Instalator Windows obsługuje instalację, naprawę oraz dezinstalację, a także obsługuje atomowe aktualizowanie plików aplikacji, zależności i wpisów rejestru. Jeśli aplikacja Visual C++ nie jest samodzielna i może zostać wdrożona przy użyciu polecenia kopiowania, użyj Instalatora Windows.

Uwaga

Chociaż wdrożenie technologii ClickOnce dla aplikacji natywnych visual C++ jest możliwe w programie Visual Studio, wymaga wykonania dodatkowych kroków. Aby uzyskać więcej informacji, zobacz Wdrażanie technologii ClickOnce dla aplikacji Visual C++.

Biblioteki Visual C++ są bibliotekami DLL udostępnionymi

Ponieważ biblioteki Visual C++ są instalowane w %windir%\system32\ katalogu przez instalatora programu Visual Studio, podczas tworzenia aplikacji Visual C++, która jest od nich zależna, będzie działać zgodnie z oczekiwaniami. Jednak większość komputerów nie ma zainstalowanego programu Visual Studio. Aby wdrożyć aplikację na tych komputerach, zalecamy upewnienie się, że biblioteki są zainstalowane razem z aplikacją.

Redystrybucyjne biblioteki Visual C++

We wdrożeniach można redystrybuować dowolną wersję biblioteki Visual C++, której licencja na to pozwala. Poniżej przedstawiono trzy sposoby ich wdrożenia:

  • Centralne wdrażanie przy użyciu pakietów pakiet redystrybucyjny programu Visual C++. Takie podejście jest zalecane. Pakiet pakiet redystrybucyjny programu Visual C++ to plik wykonywalny, który instaluje biblioteki Visual C++ jako udostępnione biblioteki DLL w programie %windir%\system32\. (Instalacja w tym folderze wymaga uprawnień administratora). Przed zainstalowaniem aplikacji na komputerze docelowym można utworzyć program inicjujący, skrypt lub program instalacyjny z uruchomionym pakietem redystrybucyjnym. Pakiety redystrybucyjne są dostępne dla platform x86, x64, ARM64 i ARM. Aby uzyskać więcej informacji na temat lokalizacji plików pakietu, zobacz Lokalizowanie plików redystrybucyjnych. Aby uzyskać informacje na temat korzystania z pakietu redystrybucyjnego, zobacz Przewodnik: wdrażanie aplikacji Visual C++ przy użyciu pakietu pakiet redystrybucyjny programu Visual C++.

  • Centralne wdrażanie przy użyciu modułów scalania. Ta metoda jest przestarzała, ponieważ biblioteki wdrożone w ten sposób nie mogą być aktualizowane automatycznie przez usługę Windows Update. Moduły scalania umożliwiają zainstalowanie określonej biblioteki Visual C++ jako udostępnionej biblioteki DLL w programie %windir%\system32\. (Instalacja w tym folderze wymaga uprawnień administratora). Moduły scalania stają się częścią .msi pliku instalatora aplikacji. Ponieważ zostały one przestarzałe, pakiet redystrybucyjny programu Visual C++ moduły scalania są opcjonalnym, instalowanym składnikiem w programach Visual Studio 2022 i 2019. Są one instalowane domyślnie w programach Visual Studio 2017 i 2015. Aby uzyskać więcej informacji, zobacz Gdzie znaleźć pliki modułów scalania.

  • Wdrożenie lokalne. Wdrożenie lokalne nie jest zalecane w większości sytuacji. We wdrożeniu lokalnym należy skopiować określone biblioteki DLL języka Visual C++ z instalacji programu Visual Studio — zazwyczaj w programie \%VCINSTALLDIR%Redist\MSVC\<version>\<target-platform>\— i zainstalować je na komputerach docelowych w tym samym folderze co plik wykonywalny aplikacji. Za pomocą tej metody wdrażania można włączyć instalację przez użytkowników, którzy nie mają uprawnień administratora. Lub w przypadku aplikacji, które mogą być uruchamiane z dysku thumb lub udziału sieciowego.

Jeśli wdrożenie używa modułów scalania redystrybucyjnego Redistributable, użytkownik, który instaluje aplikację, musi mieć uprawnienia administracyjne. W przeciwnym razie biblioteki DLL języka Visual C++ nie są zainstalowane, a aplikacja może nie działać. Instalatory aplikacji, które umożliwiają instalację dla poszczególnych użytkowników, instalują biblioteki w udostępnionej lokalizacji, która ma wpływ na wszystkich użytkowników systemu. Wdrożenie lokalne umożliwia zainstalowanie wymaganych bibliotek DLL języka Visual C++ w katalogu aplikacji określonego użytkownika. Takie podejście nie wpłynie na innych użytkowników ani nie będzie wymagać uprawnień administratora. Ponieważ może to powodować problemy z możliwościami obsługi, nie zalecamy lokalnego wdrażania bibliotek DLL pakiet redystrybucyjny programu Visual C++.

Nieprawidłowe wdrożenie bibliotek Visual C++ może spowodować błędy w czasie wykonywania aplikacji, która od nich zależy. Gdy system operacyjny ładuje aplikację, używa ona kolejności wyszukiwania opisanej w temacie LoadLibraryEx.

Łączenie dynamiczne jest lepsze niż łączenie statyczne

Zalecamy unikanie łączenia statycznego podczas redystrybucji bibliotek Visual C++. Chociaż łączenie statyczne prawie nigdy nie zwiększa znacznie wydajności aplikacji, to prawie zawsze sprawia, że serwisowanie jest droższe. Rozważmy na przykład statycznie połączoną aplikację z biblioteką, która została zaktualizowana przy użyciu ulepszeń zabezpieczeń. Aplikacja nie może korzystać, chyba że zostanie ponownie skompilowana i wdrożona ponownie. Zamiast tego zalecamy dynamiczne łączenie aplikacji z bibliotekami, od których zależą. Następnie biblioteki można aktualizować wszędzie tam, gdzie są wdrażane.

Zobacz też

Wdrażanie aplikacji klasycznych
Zabezpieczenia i wdrażanie technologii ClickOnce
Przykłady wdrożeń