Volba metody nasazení
Pro nasazení doporučujeme použít Instalační službu systému Windows. Instalační služba systému Windows podporuje instalace, opravy a odinstalace a také atomické aktualizace souborů aplikace, závislostí a položek registru. Pokud není vaše aplikace Visual C++ samostatná a nelze ji nasadit pomocí příkazu kopírování, použijte Instalační službu systému Windows.
Poznámka:
I když nasazení ClickOnce pro nativní aplikace Visual C++ je možné v sadě Visual Studio, vyžaduje další kroky. Další informace naleznete v tématu Nasazení ClickOnce pro aplikace Visual C++.
Knihovny Visual C++ jsou sdílené knihovny DLL.
Vzhledem k tomu, že instalační program sady Visual Studio instaluje knihovny Visual C++ v %windir%\system32\
adresáři, spustí se při vývoji aplikace Visual C++, která na nich závisí, podle očekávání. Většina počítačů ale nemá nainstalovanou sadu Visual Studio. Pokud chcete aplikaci nasadit do těchto počítačů, doporučujeme zajistit, aby se knihovny nainstalovaly společně s vaší aplikací.
Redistribuovatelné knihovny Visual C++
Ve svých nasazeních můžete distribuovat jakoukoli verzi knihovny Visual C++, která disponuje licencí pro distribuci. Můžete je nasadit třemi způsoby:
Centrální nasazení pomocí distribuovatelných balíčků Visual C++. Tento přístup je ten, který doporučujeme. Distribuovatelný balíček Visual C++ je spustitelný soubor, který instaluje knihovny Visual C++ jako sdílené knihovny DLL do
%windir%\system32\
. (Instalace v této složce vyžaduje práva správce.) Před instalací aplikace do cílového počítače můžete vytvořit bootstrapper, skript nebo instalační program, který spustí distribuovatelný balíček. Distribuovatelné balíčky jsou k dispozici pro platformy x86, x64, ARM64 a ARM. Další informace o tom, kde najít soubory balíčku, naleznete v tématu Najít distribuovatelné soubory. Informace o použití distribuovatelného balíčku naleznete v tématu Návod: Nasazení aplikace Visual C++ pomocí distribuovatelného balíčku Visual C++.Centrální nasazení pomocí slučovacích modulů Tato metoda je zastaralá, protože knihovny nasazené tímto způsobem nejde automaticky aktualizovat služba Windows Update. Pomocí slučovacích modulů můžete nainstalovat konkrétní knihovnu Visual C++ jako sdílenou knihovnu DLL v
%windir%\system32\
souboru . (Instalace do této složky vyžaduje práva správce.) Slučovací moduly se stanou součástí instalačního.msi
souboru pro vaši aplikaci. Vzhledem k tomu, že už jsou zastaralé, jsou redistribuovatelné moduly Visual C++ volitelnou, instalovatelnou komponentou v sadě Visual Studio 2022 a 2019. Ve výchozím nastavení se instalují v sadě Visual Studio 2017 a 2015. Další informace naleznete v tématu Kde najít slučovací soubory modulů.Místní nasazení Ve většině situací se nedoporučuje místní nasazení. V místním nasazení zkopírujete z instalace sady Visual Studio konkrétní knihovny DLL jazyka Visual C++ a obvykle je
\%VCINSTALLDIR%Redist\MSVC\<version>\<target-platform>\
nainstalujete do cílových počítačů ve stejné složce jako spustitelný soubor aplikace. Tuto metodu nasazení můžete použít k povolení instalace uživateli, kteří nemají práva správce. Nebo pro aplikace, které se dají spouštět z palecové jednotky nebo sdílené síťové složky.
Pokud nasazení používá redistribuovatelné slučovací moduly, musí mít uživatel, který aplikaci nainstaluje, práva správce. V opačném případě nejsou nainstalované knihovny DLL visual C++ a aplikace se nemusí spustit. Instalační programy aplikací, které umožňují instalaci na základě jednotlivých uživatelů, nainstalují knihovny do sdíleného umístění, které ovlivní všechny uživatele systému. Místní nasazení můžete použít k instalaci požadovaných knihoven DLL jazyka Visual C++ v adresáři aplikace konkrétního uživatele. Tento přístup nebude mít vliv na ostatní uživatele ani nevyžaduje práva správce. Vzhledem k tomu, že může vytvářet problémy s dostupností služeb, nedoporučujeme místní nasazení distribuovatelných knihoven DLL visual C++.
Nesprávné nasazení knihoven Visual C++ může způsobit chyby prostředí Runtime během spuštění aplikace, která na knihovnách závisí. Když operační systém načte aplikaci, používá pořadí hledání popsané v LoadLibraryEx
.
Dynamické propojení je lepší než statické propojení.
Doporučujeme vyhnout se statickému propojení při redistribuci knihoven Visual C++. Tento typ propojení téměř nikdy výrazně nezlepší výkon aplikace, a naopak prakticky pokaždé zvyšuje náklady na obsluhu. Představte si například staticky propojenou aplikaci s knihovnou, která byla aktualizována o vylepšení zabezpečení. Aplikace nemůže být přínosná, pokud není znovu zkompilována a znovu nasazena. Místo toho doporučujeme dynamicky propojit aplikace s knihovnami, na které závisí. Knihovny se pak dají aktualizovat všude, kde jsou nasazené.
Viz také
Nasazení desktopových aplikací
Zabezpečení a nasazení ClickOnce
Příklady nasazení