Dela via


Omdistribuera 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 för de senaste stödda Visual C++ Redistributable-nedladdningarna.

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 Licensvillkor för Programvara från Microsoft.

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

Om du vill visa "REDIST-listan" som refereras till i avsnittet "Distribuerbar kod" i Visual Studio 2022 Licensvillkor för Programvara från Microsoft, se Distribuerbara kodfiler för Microsoft Visual Studio 2022.

Information om hur du visar "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Visual Studio 2019 Licensvillkor för Programvara från Microsoft finns i Distributable code files for Microsoft Visual Studio 2019.

Information om hur du visar "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Visual Studio 2017 Licensvillkor för Programvara från Microsoft finns i Distributable code files for Microsoft Visual Studio 2017.

Information om hur du visar "REDIST-listan" som refereras i avsnittet "Distribuerbar kod" i Visual Studio 2015 Licensvillkor för Programvara från Microsoft finns i Distributable code files for Microsoft Visual Studio 2015.

Mer information om omdistribuerbara filer finns i Ta reda på vilka DLL:er (dynamic-link libraries) som ska distribueras och distributionsexempel.

Leta upp de omdistribuerbara filerna

Om du vill distribuera omdistribuerbara filer kan du använda de omdistribuerbara paket som har installerats av Visual Studio. I versioner av Visual Studio sedan 2017 heter dessa filer vc_redist.arm64.exe, vc_redist.x64.exe och vc_redist.x86.exe. I Visual Studio 2015, 2017 och 2019 är de också tillgängliga under namnen vcredist_x86.exe, vcredist_x64.exe och (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 även filerna i %VCToolsRedistDir%. I Visual Studio 2015 hittar du filerna i %VCINSTALLDIR%redist\<locale>, där <locale> är språkvarianten för de omdistribuerbara paketen.

I Visual Studio 2022 och 2019 ingår sammanslagningsmodulfiler i en valfri installationsbar komponent med namnet Visual C++ <version> Redistributable merge modules 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 de installeras 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-paketen 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 som visar hur du använder dessa paket finns i Genomgång: Distribuera ett Visuellt C++-program med hjälp av Visual C++ Redistributable-paketet.

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 omdistribuerbara paket ett felmeddelande om att installationen misslyckades. Om ett paket använder /quiet flaggan för att köras visas inget felmeddelande. I båda fallen loggar Microsoft installationsprogrammet felet 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 nyckeln HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}.

Versionsnumret är 14,0 för Visual Studio 2015, 2017, 2019 och 2022 eftersom den senaste Redistributable är binärkompatibel 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 undernyckeln Wow6432Node 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 Major, Minor, Bldoch RbldREG_DWORD -värden. Om du vill undvika ett fel vid installationen måste du hoppa över installationen av det omdistribuerbara paketet om den installerade versionen är nyare.

Kommandoradsalternativ för de omdistribuerbara paketen

Visual C++ Redistributable stöder flera kommandoradsalternativ. Alternativen /?, /h, eller /help visar en dialogruta som visar de tillgängliga alternativen. Du kan ange /install att installera, /repair reparera eller /uninstall 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 ändra det här beteendet med följande alternativ:

  • /passive: visar ett förloppsfält när ett omdistribuerbart paket installeras, men kräver annars inte någon användarinteraktion.
  • /quiet: visar inget användargränssnitt eller kräver någon användarinteraktion. Använd /quiet för helt obevakade installationer.
  • /norestart: undertrycker alla försök att starta om. Som standard skapas en loggfil i %TEMP%.
  • /log filename.txt för att logga in på en specifik fil.

Om du inte kör från en förhöjd kommandotolk måste du svara på en uppmaning från användarkontokontroll för att installationsprogrammet ska kunna köras med administratörsbehörighet.

Det här exempelkommandot installerar x64 Redistributable. Den visar installationsframstatus men kräver inte användarinteraktion förutom en 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. 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 det Windows Installer-paket (eller liknande installationspaket) som du använder för att distribuera ditt program. Mer information finns i Omdistribuera med hjälp av sammanslagningsmoduler. Ett exempel finns i Genomgång: Distribuera ett Visual C++-program med hjälp av ett konfigurationsprojekt.

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örningsfel

Om Windows inte kan hitta någon av de omdistribuerbara DLL:er som krävs av ditt program kan det visa ett meddelande som liknar det här: "Det här programmet kunde inte starta eftersom library.dll hittades inte. 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. Mer information finns i Förstå beroenden för ett Visual C++-program.