Sdílet prostřednictvím


Redistribuce součástí pomocí slučovacích modulů

Důležité

V sadě Visual Studio 2019 a novějších jsou slučovací moduly pro distribuovatelné soubory Visual C++ zastaralé. Nedoporučujeme je používat pro nasazení aplikací. Redistribuovatelné součásti nainstalované pomocí modulů sloučení nelze aktualizovat služba Windows Update, protože mechanismus detekce závisí na znalost podrobností o instalačním balíčku. Distribuovatelné balíčky Visual C++ jsou známé pro každou verzi, ale balíčky, které používají MSM, jsou generovány uživatelem. Microsoft nemůže znát podrobnosti o uživatelsky generovaných balíčcích. Místo toho doporučujeme použít centrální nasazení distribuovatelného balíčku Visual C++. Centrální nasazení nainstaluje distribuovatelné soubory do složky Windows %SYSTEMROOT%\system32\ pro použití všemi aplikacemi a uživateli. Centrální nasazení pomocí distribuovatelného balíčku umožňuje microsoftu nezávisle na sobě soubory knihovny modulu runtime. A odinstalace aplikace nemůže přerušit jiné aplikace, které také používají centrální nasazení. Při použití distribuovatelného balíčku pro centrální nasazení nesete odpovědnost za sledování a aktualizaci knihoven modulu runtime v rámci údržby aplikace: Služba Microsoft Update tyto knihovny aktualizuje za vás. V opačném případě aktualizace souborů knihovny modulu runtime vyžaduje aktualizaci a opětovné nasazení .msi instalačního programu. Vaše aplikace může být ohrožená chybami nebo problémy se zabezpečením, dokud to neuděláte.

Visual Studio obsahuje slučovací moduly (.msm soubory) pro každou komponentu Visual C++, která je licencovaná k redistribuci pomocí aplikace. Pro každou cílovou platformu existují samostatné verze modulů sloučení. Když je slučovací modul zkompilován do instalačního souboru Instalační služby systému Windows, umožňuje nasazení distribuovatelných souborů Visual C++ do této konkrétní platformy. V jednom instalačním programu nemůžete zahrnout slučovací moduly pro různé verze stejné knihovny DLL. V instalačním souboru instalačního programu určete, že moduly sloučení jsou předpokladem pro vaši aplikaci.

Slučovací moduly můžete použít pro centrální nasazení nebo místní nasazení. Uživatelé nemůžou instalovat centrálně nasazené soubory, pokud nemají práva správce. Místní nasazení může umožnit, aby vaši aplikaci nainstaloval a spustil jiný správce, ale za cenu nezávislé dostupnosti služeb.

Instalační služba hlásí chybu, pokud se pokusíte o centrální nasazení starších slučovacích modulů nad novějšími existujícími knihovnami. Instalační program byste měli napsat, aby bylo toto selhání řádně zpracováno a nezobrazovat chybovou zprávu. Váš kód se může i přes toto selhání úspěšně nasadit a spustit. Další informace naleznete v tématu Binární kompatibilita jazyka C++ mezi verzemi sady Visual Studio.

Pokud kód nasadíte jenom jako .msi instalační program, doporučujeme, abyste do instalačního programu nezahrnuli slučovací moduly. Místo toho nahlašte uživateli chybu, pokud nejsou nalezeny požadované redistribuovatelné knihovny. V dialogovém okně selhání uveďte pokyny, jak najít a nainstalovat nejnovější distribuovatelný balíček. Další informace a odkazy na distribuovatelné balíčky naleznete v tématu Nejnovější podporované soubory ke stažení jazyka Visual C++.

Nejnovější distribuovatelné balíčky a slučovací moduly jsou kompatibilní s kódem vytvořeným pomocí sady Visual Studio 2015 a novější. Kód vytvořený verzemi sady Visual Studio před 2015 vyžaduje samostatný distribuovatelný balíček.

Kdy použít slučovací moduly

Slučovací moduly jsou vhodné pouze za omezených okolností:

  • Z důvodů zásad nemůžete nainstalovat nebo vyžadovat samostatný distribuovatelný balíček.
  • Váš kód vyžaduje konkrétní verzi knihoven kompatibilní s chybou.
  • Váš kód cílí pouze na jednu platformu a nemáte závislosti na více verzích knihoven DLL.
  • Máte v úmyslu pravidelně obsluhovat nasazený kód, aby knihovny zůstaly aktuální.

Když používáte slučovací moduly, musíte sledovat a pravidelně obsluhovat aplikaci pomocí aktualizací knihovny. Jinak nakonec vynutíte, aby si klienti zvolili mezi spuštěním kódu nebo zbývajícím zabezpečením.

Kde najít soubory slučovacího modulu

V sadě Visual Studio 2022 a 2019 jsou soubory modulu sloučení součástí volitelné instalovatelné komponenty s názvem C++ <> Version Redistributable MSMs v Instalační program pro Visual Studio. Slučovací moduly se ve výchozím nastavení instalují jako součást instalace C++ v sadě Visual Studio 2017 a Visual Studio 2015. Při instalaci v sadě Visual Studio 2022 najdete slučovací moduly Visual C++ Redistributable v %VCINSTALLDIR%Redist\MSVC\v143\MergeModulessouboru . V nejnovější verzi sady Visual Studio 2019 jsou moduly sloučení v %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. V sadě Visual Studio 2019 i v sadě Visual Studio 2017 jsou také nalezeny v %VCToolsRedistDir%MergeModulessouboru . V sadě Visual Studio 2015 jsou nalezeny v Program Files [(x86)]\Common Files\Merge Modulessouboru . Další informace a odkaz na seznam redistribuovatelných slučovacích modulů naleznete v tématu Redistribuce souborů Visual C++.

Viz také

Redistribuce souborů Visual C++