Visual C++-bestanden opnieuw distribueren
Notitie
Bent u hier omdat u op zoek bent naar een download van een van de Visual C++ Runtime-bestanden? Ga naar de meest recente ondersteunde visual C++ herdistribueerbare downloads pagina.
Herdistribueerbare bestanden en licenties
Distributie van het Visual C++ Runtime Redistributable-pakket, samenvoegmodules en afzonderlijke binaire bestanden is beperkt tot gelicentieerde Visual Studio-gebruikers en is onderworpen aan dergelijke licentievoorwaarden.
Wanneer u een toepassing implementeert, moet u ook de bestanden implementeren die nodig zijn om deze te ondersteunen. Als een van deze bestanden door Microsoft wordt geleverd, controleert u of u ze opnieuw mag distribueren. U vindt een koppeling naar de licentievoorwaarden van Visual Studio in de IDE. Gebruik de koppeling Licentievoorwaarden in het dialoogvenster Over Microsoft Visual Studio. Of download de relevante EULA's en licenties uit de Visual Studio License Directory.
Om de "REDIST-lijst" te bekijken waarnaar wordt verwezen in de sectie "Distribueerbare Code" van de Microsoft Softwarelicentievoorwaarden voor Visual Studio 2022, zie Distribueerbare codebestanden voor Microsoft Visual Studio 2022
Om de 'REDIST-lijst' te zien waarnaar wordt verwezen in de sectie 'Distribueerbare code' van de Visual Studio 2019 Microsoft Softwarelicentievoorwaarden, zie Distribueerbare codebestanden voor Microsoft Visual Studio 2019.
Om de "REDIST-lijst" weer te geven waarnaar wordt verwezen in de sectie "Distribueerbare code" van de Licentievoorwaarden voor Microsoft Software van Visual Studio 2017, zie Distribueerbare Codebestanden voor Microsoft Visual Studio 2017.
Om de 'REDIST-lijst' weer te geven waarnaar wordt verwezen in de sectie 'Verspreidbare code' van de Microsoft Softwarelicentievoorwaarden voor Visual Studio 2015, zie Verspreidbare codebestanden voor Microsoft Visual Studio 2015.
Voor meer informatie over herdistribueerbare bestanden, zie Bepalen welke DLL's herverdeeld moeten worden en Implementatievoorbeelden.
De herdistribueerbare bestanden zoeken
Als u herdistribueerbare bestanden wilt implementeren, kunt u de herdistribueerbare pakketten gebruiken die door Visual Studio zijn geïnstalleerd. In versies van Visual Studio sinds 2017 hebben deze bestanden de naam vc_redist.arm64.exe
, vc_redist.x64.exe
en vc_redist.x86.exe
. In Visual Studio 2015, 2017 en 2019 zijn ze ook beschikbaar onder de namen vcredist_x86.exe
, vcredist_x64.exe
en (alleen 2015) vcredist_arm.exe
.
De eenvoudigste manier om de herdistribueerbare bestanden te vinden, is door omgevingsvariabelen te gebruiken die zijn ingesteld in een opdrachtprompt voor ontwikkelaars. In Visual Studio 2022 bevinden de herdistribueerbare bestanden zich in de map %VCINSTALLDIR%Redist\MSVC\v143
. In de nieuwste versie van Visual Studio 2019 vindt u de herdistribueerbare bestanden in de map %VCINSTALLDIR%Redist\MSVC\v142
. In zowel Visual Studio 2017 als Visual Studio 2019 zijn ze ook te vinden in %VCToolsRedistDir%
. In Visual Studio 2015 zijn deze bestanden te vinden in %VCINSTALLDIR%redist\<locale>
, waar <locale>
de landinstelling is van de herdistribueerbare pakketten.
In Visual Studio 2022 en 2019 maken samenvoegmodulebestanden deel uit van een optioneel installeerbaar onderdeel met de naam C++ <versie> Herdistribueerbare MSM's in het Installatieprogramma van Visual Studio. De samenvoegmodules worden standaard geïnstalleerd als onderdeel van een C++-installatie in Visual Studio 2017 en Visual Studio 2015. Wanneer deze is geïnstalleerd in Visual Studio 2022, vindt u de herdistribueerbare samenvoegmodules in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules
. In de nieuwste versie van Visual Studio 2019 bevinden de herdistribueerbare samenvoegmodules zich in %VCINSTALLDIR%Redist\MSVC\v142\MergeModules
. In zowel Visual Studio 2019 als Visual Studio 2017 zijn ze ook te vinden in %VCToolsRedistDir%MergeModules
. In Visual Studio 2015 zijn ze te vinden in Program Files [(x86)]\Common Files\Merge Modules
.
De herdistribueerbare pakketten installeren
De Herdistribueerbare pakketten van Visual C++ installeren en registreren alle Visual C++-bibliotheken. Als u er een gebruikt, voert u deze uit als een vereiste op het doelsysteem voordat u uw toepassing installeert. U wordt aangeraden deze pakketten voor uw implementaties te gebruiken, omdat ze het automatisch bijwerken van de Visual C++-bibliotheken inschakelen. Zie Walkthrough: Een Visual C++-toepassing implementeren met behulp van het Visual C++-herdistribueerbare pakketvoor een voorbeeld van het gebruik van deze pakketten.
Elk Visual C++ Redistributable-pakket controleert op het bestaan van een recentere versie op de computer. Als er een recentere versie wordt gevonden, wordt het pakket niet geïnstalleerd. In Visual Studio 2015 of hoger geven Redistributable-pakketten een foutbericht weer waarin staat dat de installatie is mislukt. Als een pakket wordt uitgevoerd met behulp van de vlag /quiet
, wordt er geen foutbericht weergegeven. In beide gevallen wordt een fout vastgelegd door het Microsoft-installatieprogramma en wordt een foutresultaat geretourneerd naar de beller. In Visual Studio 2015 en hoger kunt u deze fout voorkomen door het register te controleren of er een recentere versie is geïnstalleerd. Het huidige geïnstalleerde versienummer wordt opgeslagen in de HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}
-sleutel. Het versienummer is 14.0 voor Visual Studio 2015, 2017, 2019 en 2022, omdat het nieuwste Redistributable binair compatibel is met eerdere versies naar 2015. De sleutel is arm64
, x86
of x64
afhankelijk van de geïnstalleerde vcredist-versies voor het platform. (Controleer alleen onder de subsleutel Wow6432Node
als u Regedit gebruikt om de versie van het geïnstalleerde x86-pakket op een x64-platform weer te geven.) Het versienummer wordt opgeslagen in de tekenreekswaarde REG_SZ
Version
en ook in de set Major
, Minor
, Bld
en Rbld
REG_DWORD
waarden. Als u een fout tijdens de installatie wilt voorkomen, moet u de installatie van het Herdistribueerbare pakket overslaan als de momenteel geïnstalleerde versie recenter is.
Opdrachtregelopties voor de Herdistribueerbare pakketten
Visual C++ Redistributable ondersteunt verschillende opdrachtregelopties. De opties /?
, /h
of /help
geven een pop-updialoogvenster weer met de beschikbare opties. U kunt /install
opgeven om te installeren, /repair
te herstellen of /uninstall
om het herdistribueerbare bestand te verwijderen. Met de optie /layout
kopieert u de volledige inhoud van het herdistribueerbare bestand in de huidige map. Standaard installeert de Redistributable zijn inhoud en vraagt aan de gebruiker of er informatie nodig is en of het systeem opnieuw moet worden opgestart na de installatie. U kunt de optie /passive
opgeven, die de voortgang weergeeft, maar anders geen interactie van de gebruiker vereist. U kunt ook een /quiet
-optie opgeven, die geen gebruikersinterface weergeeft of gebruikersinteractie vereist. De optie /norestart
onderdrukt pogingen om opnieuw op te starten. Standaard wordt er een logboekbestand gemaakt in %TEMP%
. U kunt /log filename.txt
gebruiken om u aan te melden bij een specifiek bestand.
Met deze voorbeeldopdracht wordt x64 Redistributable geïnstalleerd. Het toont de voortgang van de installatie, maar vereist geen gebruikersinteractie of opnieuw opstarten:
vc_redist.x64.exe /install /passive /norestart
De herdistribueerbare samenvoegmodules installeren
Belangrijk
Samenvoegmodules (.msm
bestanden) voor Herdistribueerbare bestanden van Visual C++ worden afgeschaft. We raden u niet aan deze te gebruiken voor toepassingsimplementatie. In plaats daarvan raden we de centrale implementatie van het Visual C++ Redistributable-pakket aan. Centrale implementatie door een Redistributable-pakket maakt het voor Microsoft mogelijk om runtimebibliotheekbestanden onafhankelijk van elkaar te verwerken. En een verwijdering van uw app kan geen invloed hebben op andere toepassingen die ook gebruikmaken van centrale implementatie. Wanneer u een Redistributable-pakket gebruikt voor centrale implementatie, bent u niet verantwoordelijk voor het bijhouden en onderhouden van de runtimebibliotheken. Anders moet u voor een update van de runtimebibliotheekbestanden uw .msi
-installatieprogramma bijwerken en opnieuw implementeren. Uw app kan kwetsbaar zijn voor bugs of beveiligingsproblemen totdat u dat doet.
Herdistribueerbare samenvoegmodules moeten worden opgenomen in het Windows Installer-pakket (of een vergelijkbaar installatiepakket) dat u gebruikt om uw toepassing te implementeren. Zie Opnieuw distribueren met behulp van samenvoegmodulesvoor meer informatie. Zie voor een voorbeeld Walkthrough: Een Visual C++-toepassing implementeren met behulp van een installatieproject.
Afzonderlijke herdistribueerbare bestanden installeren
Het is ook mogelijk om de herdistribueerbare DLL's rechtstreeks te installeren in de lokale map van de toepassing. De lokale toepassingsmap is de map die het uitvoerbare toepassingsbestand bevat. Om onderhoudsredenen raden we u niet aan deze installatielocatie te gebruiken.
Mogelijke runtimefouten
Als Windows een van de herdistribueerbare bibliotheek-DLL's die zijn vereist voor uw toepassing niet kan vinden, wordt mogelijk een bericht weergegeven dat lijkt op: 'Deze toepassing is mislukt omdat bibliotheek.dll niet is gevonden. Het opnieuw installeren van de toepassing kan dit probleem oplossen.
Als u dit soort fouten wilt oplossen, moet u ervoor zorgen dat het installatieprogramma van de toepassing correct wordt gebouwd. Controleer of de Redistributable-bibliotheken correct worden geïmplementeerd op het doelsysteem. Zie Inzicht in de afhankelijkheden van een Visual C++-toepassingvoor meer informatie.
Verwante artikelen
Opnieuw distribueren met behulp van samenvoegmodules
Beschrijft hoe u Visual C++ Redistributable-samenvoegmodules gebruikt om de Visual C++ runtimebibliotheken te installeren als gedeelde DLL's in de map %windir%\system32\
.
Distributie van Visual C++ ActiveX-besturingselementen
Hierin wordt beschreven hoe u een toepassing die gebruikmaakt van ActiveX-besturingselementen opnieuw kunt distribueren.
de MFC-bibliotheek opnieuw distribueren
Hierin wordt beschreven hoe u een toepassing die gebruikmaakt van MFC opnieuw kunt distribueren.
een ATL-toepassing opnieuw distribueren
Hierin wordt beschreven hoe u een toepassing die gebruikmaakt van ATL opnieuw kunt distribueren. In Visual Studio 2012 en hoger is geen ATL-bibliotheek vereist.
implementatievoorbeelden
Koppelingen naar voorbeelden die laten zien hoe u Visual C++-toepassingen implementeert.
Bureaubladtoepassingen implementeren
Introduceert visual C++ implementatieconcepten en -technologieën.