Dela via


Omdistribuering av Visual C++-filer

Not

Är du här för att du letar efter en nedladdning av en av Visual C++ Runtime-filerna? Gå till sidan Senaste stödde Visual C++ Redistributable-nedladdningar.

Omdistribuerbara filer och licensiering

Distribution av Visual C++ Runtime Redistributable-paketet, sammanslagningsmoduler och enskilda binärfiler är begränsad till licensierade Visual Studio-användare och omfattas av sådana licensvillkor.

När du distribuerar ett program måste du även distribuera de filer som krävs för att stödja det. Om någon av dessa filer tillhandahålls av Microsoft kontrollerar du om du har tillåtelse att omdistribuera dem. Du hittar en länk till licensvillkoren för Visual Studio i IDE. Använd länken Licensvillkor i dialogrutan Om Microsoft Visual Studio. Du kan också ladda ned relevanta LICENSAVTAL och licenser från Visual Studio License Directory.

Om du vill visa "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Licensvillkoren för Visual Studio 2022 Microsoft-programvara kan du läsa Distribuerbara kodfiler för Microsoft Visual Studio 2022

Om du vill visa "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Licensvillkoren för Visual Studio 2019 Microsoft-programvara kan du läsa Distribuerbara kodfiler för Microsoft Visual Studio 2019

Om du vill visa "REDIST-listan" som refereras till i avsnittet "Distribuerbar kod" i Microsoft Software-licensvillkoren för Visual Studio 2017, se Distribuerbara kodfiler för Microsoft Visual Studio 2017.

Om du vill se "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Microsofts licensvillkor för programvara för Visual Studio 2015 kan du läsa Distribuerbara kodfiler för Microsoft Visual Studio 2015.

Mer information om omdistribuerbara filer finns i Fastställa vilka DLL:er som ska omdistribuera och Distributionsexempel.

Leta upp de omdistribuerbara filerna

Om du vill distribuera omdistribuerbara filer kan du använda de omdistribuerbara paket som installerats av Visual Studio. I versioner av Visual Studio sedan 2017 heter dessa filer vc_redist.arm64.exe, vc_redist.x64.exeoch vc_redist.x86.exe. I Visual Studio 2015, 2017 och 2019 är de också tillgängliga under namnen vcredist_x86.exe, vcredist_x64.exeoch (endast 2015) vcredist_arm.exe.

Det enklaste sättet att hitta de omdistribuerbara filerna är att använda miljövariabler som anges i en kommandotolk för utvecklare. I Visual Studio 2022 finns de omdistribuerbara filerna i mappen %VCINSTALLDIR%Redist\MSVC\v143. I den senaste versionen av Visual Studio 2019 hittar du de omdistribuerbara filerna i mappen %VCINSTALLDIR%Redist\MSVC\v142. I både Visual Studio 2017 och Visual Studio 2019 finns de också i %VCToolsRedistDir%. I Visual Studio 2015 finns dessa filer i %VCINSTALLDIR%redist\<locale>, där <locale> är lokalen för de återdistribuerbara paketen.

I Visual Studio 2022 och 2019 ingår sammanslagningsmodulfiler i en valfri installationsbar komponent med namnet C++ <version> Redistributable MSMs i Visual Studio Installer. Sammanslagningsmodulerna installeras som standard som en del av en C++-installation i Visual Studio 2017 och Visual Studio 2015. När du har installerat i Visual Studio 2022 hittar du de omdistribuerbara sammanslagningsmodulerna i %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. I den senaste versionen av Visual Studio 2019 finns de omdistribuerbara sammanslagningsmodulerna i %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. I både Visual Studio 2019 och Visual Studio 2017 finns de också i %VCToolsRedistDir%MergeModules. I Visual Studio 2015 finns de i Program Files [(x86)]\Common Files\Merge Modules.

Installera de omdistribuerbara paketen

Visual C++ Redistributable Packages installerar och registrerar alla Visual C++-bibliotek. Om du använder en kör du den som en förutsättning i målsystemet innan du installerar programmet. Vi rekommenderar att du använder dessa paket för dina distributioner eftersom de aktiverar automatisk uppdatering av Visual C++-biblioteken. Ett exempel på hur du använder dessa paket finns i Genomgång: Distribuera ett Visuellt C++-program med hjälp av Visual C++ Redistributable Package.

Varje Visual C++ Redistributable-paket kontrollerar om det finns en nyare version på datorn. Om en nyare version hittas installeras inte paketet. I Visual Studio 2015 eller senare visar Redistributable-paket ett felmeddelande om att installationen misslyckades. Om ett paket körs med hjälp av flaggan /quiet visas inget felmeddelande. I båda fallen loggas ett fel av Microsoft-installationsprogrammet och ett felresultat returneras till anroparen. I Visual Studio 2015 och senare kan du undvika det här felet genom att kontrollera registret för att ta reda på om en nyare version har installerats. Det aktuella installerade versionsnumret lagras i HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}-nyckeln. Versionsnumret är 14.0 för Visual Studio 2015, 2017, 2019 och 2022 eftersom den senaste redistributablen är binär kompatibel med tidigare versioner tillbaka till 2015. Nyckeln är arm64, x86eller x64 beroende på de installerade vcredist-versionerna för plattformen. (Du behöver bara kontrollera under den Wow6432Node undernyckeln om du använder Regedit för att visa versionen av det installerade x86-paketet på en x64-plattform.) Versionsnumret lagras i REG_SZ strängvärdet Version och även i uppsättningen med värdena Major, Minor, Bldoch RbldREG_DWORD. För att undvika ett fel vid installationen måste du hoppa över installationen av det redistributerbara paketet om den installerade versionen är nyare.

Kommandoradsalternativ för de omdistribuerbara paketen

Visual C++ Redistributable stöder flera kommandoradsalternativ. Alternativen /?, /heller /help visar en popup-dialogruta med tillgängliga alternativ. Du kan ange /install att installera, /repair att reparera eller /uninstall för att avinstallera Redistributable. Alternativet /layout kopierar det fullständiga innehållet i Redistributable i den aktuella katalogen. Som standard installerar Redistributable sina komponenter och uppmanar användaren att ange information samt om den ska startas om efter installationen. Du kan ange alternativet /passive, som visar förloppet, men som annars inte kräver användarinteraktion. Du kan också ange ett /quiet alternativ som inte visar något användargränssnitt eller kräver någon användarinteraktion. Alternativet /norestart undertrycker alla försök att starta om. Som standard skapas en loggfil i %TEMP%. Du kan använda /log filename.txt för att logga in på en specifik fil.

Det här exempelkommandot installerar x64 Redistributable. Den visar installationsframstatus, men kräver inte användarinteraktion eller omstart:

vc_redist.x64.exe /install /passive /norestart

Installera de omdistribuerbara sammanslagningsmodulerna

Viktig

Sammanslagningsmoduler (.msm filer) för Visual C++ Redistributable-filer är inaktuella. Vi rekommenderar inte att du använder dem för programdistribution. I stället rekommenderar vi central distribution av Visual C++ Redistributable-paketet. Central distribution av ett omdistribuerbart paket gör det möjligt för Microsoft att hantera runtime-biblioteksfiler oberoende av varandra. Och en avinstallation av din app kan inte påverka andra program som också använder central distribution. När du använder ett omdistribuerbart paket för central distribution ansvarar du inte för att spåra och underhålla körningsbiblioteken. Annars kräver en uppdatering av runtime-biblioteksfilerna att du uppdaterar och distribuerar om .msi installationsprogrammet. Din app kan vara sårbar för buggar eller säkerhetsproblem tills du gör det.

Omdistribuerbara sammanslagningsmoduler måste ingå i Windows Installer-paketet (eller liknande installationspaket) som du använder för att distribuera ditt program. Mer information finns i Omdistribuering med hjälp av sammanslagningsmoduler. Ett exempel finns i Handledning: Distribuera en Visual C++-applikation med hjälp av ett installationsprojekt.

Installera enskilda omdistribuerbara filer

Det går också att installera redistributerbara DLL:er direkt i den programlokala mappen. Den lokala mappen för programmet är mappen som innehåller den körbara programfilen. Av underhållsskäl rekommenderar vi inte att du använder den här installationsplatsen.

Potentiella körningsstörningar

Om Windows inte hittar någon av de omdistribuerbara biblioteks-DLL:er som krävs av ditt program kan det visa ett meddelande som liknar: "Det här programmet misslyckades att starta eftersom bibliotek.dll inte hittades. Om du installerar om programmet kan det här problemet åtgärdas."

Lös den här typen av fel genom att se till att programinstallationsprogrammet byggs korrekt. Kontrollera att de omdistribuerbara biblioteken distribueras korrekt i målsystemet. För mer information, se Förstå beroenden av en Visual C++-applikation.

Omdistribuering med hjälp av sammanslagningsmoduler
Beskriver hur du använder Visual C++ Redistributable-sammanslagningsmoduler för att installera Visual C++-körningsbiblioteken som delade DLL:er i mappen %windir%\system32\.

Återdistribuera Visual C++ ActiveX-kontroller
Beskriver hur du omdistribuerar ett program som använder ActiveX-kontroller.

Omdistribuera MFC-biblioteket
Beskriver hur du omdistribuerar ett program som använder MFC.

Omdistribuera ett ATL-program
Beskriver hur du omdistribuerar ett program som använder ATL. I Visual Studio 2012 och senare krävs inget ATL-bibliotek.

Utplacerings exempel
Länkar till exempel som visar hur du distribuerar Visual C++-program.

Utrullning av skrivbordsapplikationer
Introducerar koncept och tekniker för Visual C++-distribution.