Nasazení ve Visual C++
Instalace vaší aplikace na jiném počítači, než je vývojový počítač, se označuje jako nasazení. Když nasadíte aplikaci Visual C++ do jiného počítače, musíte nainstalovat aplikaci i všechny soubory knihoven, na kterých závisí. Visual Studio umožňuje tři způsoby, jak nasadit knihovny Visual C++ společně s vaší aplikací: centrální nasazení, místní nasazenía statické propojení. centrální nasazení umístí soubory knihovny do adresáře Windows, kde je služba web Windows Update může aktualizovat automaticky. Místní nasazení umístí soubory knihovny do stejného adresáře jako vaše aplikace. Všechny místně nasazené knihovny je potřeba znovu nasadit, aby je bylo možné aktualizovat. Statické propojení váže kód knihovny do aplikace. Je nutné znovu zkompilovat a znovu nasadit aplikaci, aby při použití statického propojení využila jakékoli aktualizace knihoven.
v Visual Studio 2015 byla knihovna modulu Runtime jazyka Microsoft C refaktorovaná na součásti místní knihovny specifické pro danou verzi a nová knihovna univerzálního běhového prostředí jazyka c, která je nyní součástí Windows. Podrobnosti o nasazení univerzálního CRT naleznete v tématu nasazení univerzálního CRT.
Centrální nasazení
v centrálním nasazení jsou soubory DLL knihovny nainstalovány v adresáři Windows \syswow64 nebo pro soubory knihovny 32 v systémech x64 Windows adresář \syswow64 jako. Společnost Microsoft automaticky aktualizuje knihovny, které jsou nasazeny centrálně. Pro Visual C++ knihoven, které jsou místně nasazené nebo staticky propojené, je nutné zadat aktualizace.
K centrálnímu nasazení Visual C++ knihoven můžete použít jeden z těchto dvou zdrojů k instalaci souborů:
Redistribuovatelné soubory balíčku , což jsou spustitelné soubory samostatného příkazového řádku, které obsahují všechny Visual C++ distribuovatelné knihovny v komprimované podobě, nebo
redistribuovatelné slučovací moduly (soubory. msm), které můžete použít k nasazení specifických knihoven a které zahrnete do souboru Instalační služba systému Windows aplikace (.msi).
Distribuovatelný soubor balíčku nainstaluje všechny knihovny Visual C++ pro konkrétní architekturu systému. Například pokud je vaše aplikace sestavena pro x64, můžete použít vcredist_x64.exe Distribuovatelný balíček k instalaci všech knihoven Visual C++, které vaše aplikace používá. Před instalací aplikace můžete instalačnímu programu aplikace spustit Distribuovatelný balíček jako požadavek.
slučovací modul umožňuje zahrnutí logiky nastavení pro konkrétní knihovnu Visual C++ do instalačního souboru aplikace Instalační služba systému Windows. V případě, že vaše aplikace vyžaduje, můžete zahrnout libovolný počet slučovacích modulů. Slučovací moduly použijte, pokud potřebujete minimalizovat velikost binárních souborů nasazení.
vzhledem k tomu, že centrální nasazení pomocí redistribuovatelného balíčku nebo slučovacích modulů umožňuje web Windows Update automaticky aktualizovat knihovny Visual C++, doporučujeme použít knihovny dll knihovny ve vaší aplikaci místo statických knihoven a použít centrální nasazení místo místního nasazení.
Místní nasazení
V místním nasazení jsou soubory knihoven nainstalovány ve složce aplikace společně se spustitelným souborem. Do stejné složky lze nainstalovat různé verze Visual C++ distribuovatelných knihoven, protože název souboru každé verze zahrnuje číslo jeho verze. Například verze 12 běhové knihovny C++ je msvcp120.dll a verze 14 je msvcp140.dll.
Knihovna může být rozdělena mezi více dalších knihoven DLL, označovaných jako knihovny teček. například některé funkce ve standardní knihovně vydané v Visual Studio 2017 verze 15,6 byly přidány do msvcp140_1.dll, aby byla zachována kompatibilita s ABI msvcp140.dll. pokud používáte Visual Studio 2017 verze 15,6 (sada nástrojů 14,13) nebo pozdější sadu nástrojů z Visual Studio 2017, možná budete muset tyto knihovny teček nasadit místně i do hlavní knihovny. Tyto samostatné knihovny teček jsou následně zahrnuty do další hlavní verze základní knihovny, když se ABI změní.
Vzhledem k tomu, že společnost Microsoft nemůže automaticky aktualizovat místně nasazené knihovny Visual C++, nedoporučujeme místní nasazení těchto knihoven. Pokud se rozhodnete použít místní nasazení distribuovatelných knihoven, doporučujeme implementovat vlastní metodu automatických aktualizací místně nasazených knihoven.
Statické propojení
kromě dynamicky propojených knihoven Visual Studio poskytuje většinu knihoven jako statické knihovny. Statickou knihovnu je možné staticky propojit s vaší aplikací, to znamená propojit kód objektu knihovny přímo do aplikace. Tím se vytvoří jeden binární soubor bez závislosti DLL, takže nemusíte nasazovat soubory knihovny Visual C++ samostatně. Tento přístup však nedoporučujeme, protože staticky propojené knihovny nelze aktualizovat na místě. Pokud používáte statické propojení a potřebujete propojené knihovny aktualizovat, je nutné aplikaci znovu zkompilovat a opětovně nasadit.
Řešení potíží s nasazením
Pořadí načítání knihoven Visual C++ je závislé na systému. Chcete-li diagnostikovat problémy zavaděče, použijte nástroj depends.exe nebo where.exe. Další informace najdete v tématu pořadí hledání dynamické knihovny (Windows).