Wybieranie metody wdrażania
W większości przypadków rozmieszczenie Visual C++ aplikacji odbywa się z wdrażania Instalator Windows.Aby uzyskać więcej informacji na temat obsługiwanych w ramach programu Visual Studio i rozwiązań alternatywnych metod wdrażania, zobacz Wybór strategii rozmieszczania i Deployment Alternatives.Wdrażania ClickOnce dla Visual C++ macierzyste aplikacje nie jest obsługiwana w Visual Studio 2010; jednak istnieje możliwość wdrożyć Visual C++ aplikacji za pośrednictwem ClickOnce w wierszu polecenia.Aby uzyskać więcej informacji, zobacz Wdrażania ClickOnce dla aplikacji Visual C++.
Visual C++ biblioteki są współużytkowane biblioteki DLL
Visual Studio 2010Instaluje Visual C++ biblioteki jako pliki dll w katalogu %windir%\system32.W celu zapewnienia, że Twój Visual C++ aplikacja będzie uruchamiana na komputerze bez Visual C++ zainstalowane, może być konieczne redystrybuować Visual C++ bibliotek DLL z aplikacją i upewnij się, są one zainstalowane na komputerze docelowym.
Redystrybuowanie bibliotek Visual C++
Redystrybuowanie Visual C++ bibliotek DLL na trzy sposoby:
Korzystanie z pakietu redystrybucyjnego oprogramowania Visual C++ (VCRedist_x86.exe, VCRedist_x64.exe, VCRedist_ia64.exe) Aby zainstalować wszystkie biblioteki Visual C++ jako pliki dll w % windir%\system32.Visual Studio instaluje tego pakietu w folderze %WindowsSdkDir%\Bootstrapper\Packages.Można także pobrać go z Centrum pobierania firmy Microsoft.Na przykład użycia tego pakietu, zobacz Instruktaż: Rozmieszczanie aplikacji Visual C++ przy użyciu Visual C++ pakietu redystrybucyjnego.
Visual C++ do dystrybucji scalić modułów należy zainstalować określoną bibliotekę Visual C++ jako pliki dll w % windir%\system32.Dostęp do tego folderu wymaga, również być uruchomione przez użytkownika z uprawnieniami administratora.Aby uzyskać więcej informacji zobacz Redystrybuowanie przy użyciu modułów korespondencji seryjnej.Przykładem tego wdrażania można znaleźć w Instruktaż: Rozmieszczanie aplikacji Visual C++ przy użyciu projektu Instalatora.
Zapewniają instalacji Visual C++ określonej biblioteki DLL w tym samym folderze co aplikacja przy użyciu plików w katalogu 10.0\VC\Redist Program Files\Microsoft Visual Studio.W ten sposób zaleca się umożliwienie instalacji aplikacji przez użytkowników, którzy nie mają praw administracyjnych lub kiedy powinna istnieć możliwość uruchamiania aplikacji z udziału.
Podczas instalowania Visual C++ bibliotek przy użyciu modułów do dystrybucji korespondencji seryjnej, biblioteki DLL są wdrażane jako pliki dll w % windir%\system32.Dostęp do tego folderu wymaga, również być uruchomione przez użytkownika z uprawnieniami administratora.
Jeśli instalacja jest uruchamiana przez użytkownika, który nie ma prawa administracyjne wdrożyć niepowodzenia instalacji Visual C++ bibliotek DLL i aplikacja nie będzie działać.Ponadto niektóre produkty mogą zezwolić instalacji na poszczególnych użytkowników, ale moduły korespondencji seryjnej zainstalować biblioteki do udostępnionej lokalizacji i wpływu na wszystkich użytkowników systemu.W obu tych i podobne scenariusze obsługiwane technika jest aby zainstalować wymagane biblioteki DLL w katalogu aplikacji danego użytkownika.
W przypadku tej techniki wystarcza do skopiowania bibliotek DLL do lokalnego folderu aplikacji.Program ładujący system operacyjny, podczas wykonywania aplikacji, wykorzystuje kolejność wyszukiwania, opisane w LoadLibraryEx.
Niepoprawne redystrybucji Visual C++ bibliotek może spowodować błędy w czasie wykonywania podczas wykonywania aplikacji, która zależy od nich
Wolą dynamiczne łączenie za pośrednictwem łączy statycznych
Nie zaleca się do rozpowszechniania aplikacji C/C++, które statycznie do Visual C++ bibliotek.Często błędnie zakłada się, że statycznie łącząc program z Visual C++ bibliotek to można znacznie zwiększyć wydajność aplikacji.Jednak wpływ na wydajność dynamicznym ładowaniem Visual C++ bibliotek jest nieznaczna w prawie wszystkich przypadkach.Ponadto łączy statycznych nie zezwala na obsługę aplikacji i jego biblioteki zależnych przez aplikacji autora lub Microsoft.Rozważmy na przykład aplikacja, która jest łączony statycznie w bibliotece uruchomiony na komputerze klienckim z nową wersję tej biblioteki.Aplikacja nadal korzysta z poprzednią wersję tej biblioteki kodu i nie korzysta z ulepszeń biblioteki, na przykład rozszerzenia zabezpieczeń.Autorzy aplikacji C/C++ stanowczo zalecane przemyśleć w scenariuszu obsługi przed podjęciem decyzji o statycznie łączą z bibliotekami zależnych i dynamiczne łączenie stosować w każdym przypadku, gdy jest to możliwe.
Zobacz też
Koncepcje
Wybór strategii rozmieszczania
ClickOnce zabezpieczeń i wdrażania