Sdílet prostřednictvím


Volba metody nasazení

Ve většině případech nasazení Visual C++ aplikací se nasazeni provádí Instalační službou systému Windows. Pro další informace o metodách nasazení podporující aplikaci Visual Studio a alternativy, klikněte zde Výběr strategie nasazení a Deployment Alternatives. ClickOnce nasazení pro Visual C++ nativní aplikace není podporována v aplikaci Visual Studio 2010; je však možné nasadit Visual C++ aplikace prostřednictvím ClickOnce v příkazovém řádku. Další informace naleznete v tématu Nasazení ClickOnce pro aplikace Visual C++.

Visual C++ knihovny jsou sdílené DLL knihovny

Visual Studio 2010 nainstaluje Visual C++ knihovny jako sdílené DLL knihovny v adresáři %windir%\system32 . Aby bylo zajištěno, že vaše Visual C++ aplikace bude spuštěna v počítači bez nainstalování Visual C++, bude pravděpodobně nutné redistribuovat Visual C++ DLL knihovny s vaší aplikací a zajistit jejich nainstalování v cílovém počítači.

Redistribuce Visual C++ knihoven

Redistribuovat DLL knihovny aplikace Visual C++ lze třemi způsoby:

  • Doporučujeme použít redistribuovatlený balíček aplikace Visual C++ (VCRedist_x86.exe, VCRedist_x64.exe, VCRedist_ia64.exe) pro nainstalování všech knihoven aplikace Visual C++ jako sdílené knihovny DLL v adresáři % windir%\system32. Visual Studio tento balíček nainstaluje do složky %WindowsSdkDir%\Bootstrapper\Packages. Můžete také stáhnout z Microsoft Download Center. Pro příklad použití tohoto balíčku, klikněte zde Podrobné pokyny: Nasazení Visual C++ aplikace za použití redistribuovatelného balíčku Visual C++..

  • Visual C++ Redistributable sloučit moduly slouží k instalaci konkrétní Visual C++ knihovny jako sdílené knihovny DLL v % windir%\system32. Přístup k této složce vyžaduje, aby instalační aplikace byla spuštěna uživatelem s právy správce. Pro další informace klikněte zde Přerozdělení pomocí sloučení moduly. Příklad tohoto nasazení může být nalezen v Podrobné pokyny: Nasazení aplikace Visual C++ pomocí nastavení projektu.

  • Nainstalovaní konkrétní Visual C++ DLL knihovny do stejné složky jako aplikace používající soubory z adresáře Program Files\Microsoft Visual Studio 10.0\VC\Redist. Tímto způsobem se doporučuje povolit instalaci aplikací uživatelům, kteří nemají práva správce nebo když by mělo být možné spustit aplikaci ze sdílené složky.

Když probíhá instalace Visual C++ knihoven pomocí redistribuovatelných slučovacích modulů, jsou knihovny DLL zavedeny jako sdílené DLL knihovny v adresáři % windir%\system32. Přístup k této složce vyžaduje, aby instalační aplikace byla spuštěna uživatelem s právy správce.

Jestliže je instalace spuštěna uživatelem, který nemá práva správce, instalaci se nezdaří zavést Visual C++ DLL knihovny a aplikace se nespustí. Také některé produkty mohou instalaci povolit každému uživateli zvlášť, ale slučovací moduly instalují knihovny do sdíleného umístění a účinky ovlivní všechny uživatele systému. V obou těchto a podobných případech je podporou techniky nainstalování požadovaných DLL knihoven v adresáři aplikace konkrétního uživatele.

S touto technikou postačí zkopírovat knihovny DLL do místní složky aplikace. Zavaděč operačního systému, při spuštění aplikace používá pořadí hledání podle LoadLibraryEx.

Nesprávné přerozdělení Visual C++ knihoven může mít za následek chyby chodu během spuštění aplikace, která na nich závisí.

Preferujte dynamické propojení před statickým propojením

U Redistribuce C/C++ aplikací není vhodné statické propojení Visual C++ knihoven. Často se chybně předpokládá, že za pomocí statického propojení programu s Visual C++ knihovnami je možné výrazně zlepšit výkon aplikace. Avšak dopad na výkon dynamického načítání Visual C++ knihoven je ve většině případů zanedbatelný. Kromě toho, neumožňuje statické propojení servis aplikace a jejich závislých knihoven buď od autora aplikace nebo Microsoftu. Například si představte aplikaci, která je staticky propojena k určité knihovně a spuštěna v počítači klienta s novou verzí této knihovny. Aplikace stále používá kód z předchozí verze této knihovny a vůbec nevyužívá vylepšení z nové knihovny, jako například vylepšení zabezpečení. Autoři aplikací C/C++ důrazně doporučují zamyslet se nad plánem úprav před rozhodnutím o statickým propojením na závislé knihovny, a používat dynamické propojení kdykoliv je to možné.

Viz také

Koncepty

Výběr strategie nasazení

ClickOnce zabezpečení a nasazení

Příklady nasazení

Další zdroje

Nasazení (Visual C++)

Windows Installer Deployment Overview