Delen via


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 downloadpagina voor Visual C++ Redistributable .

Herdistribueerbare bestanden en licenties

Distributie van het Visual C++ Runtime Redistributable-pakket, de samenvoegmodules en afzonderlijke binaire bestanden is beperkt tot gelicentieerde Visual Studio gebruikers en is onderworpen aan de licentievoorwaarden voor Microsoft-software.

Wanneer u een toepassing implementeert, moet u ook de bestanden implementeren die nodig zijn om deze te ondersteunen. Als Microsoft een van deze bestanden verstrekt, controleert u of u ze opnieuw mag distribueren. U vindt een koppeling naar de Visual Studio licentievoorwaarden in de IDE. Selecteer in het dialoogvenster About Microsoft Visual Studio de koppeling Licentievoorwaarden. U kunt ook de relevante licentievoorwaarden en licenties voor Microsoft-software downloaden via de Visual Studio License Directory.

Zie de "REDIST-lijst" waarnaar wordt verwezen in de sectie "Distribueerbare code" van de Licentievoorwaarden voor Microsoft Visual Studio 2022 Software, in Distributable-codebestanden voor Microsoft Visual Studio 2022.

Zie Distributable code-bestanden voor Microsoft Visual Studio 2019 om de 'REDIST-lijst' weer te geven waarnaar wordt verwezen in de sectie "Distributable Code" van de Microsoft Software License Terms van Visual Studio 2019.

Zie Distribueerbare codebestanden voor Microsoft Visual Studio 2017 om de 'REDIST-lijst' weer te geven waarnaar wordt verwezen in de sectie Distribueerbare Code van de Microsoft Visual Studio 2017 Softwarelicentievoorwaarden.

Zie de 'REDIST-lijst' waarnaar wordt verwezen in de sectie "Distribueerbare code" in de Microsoft Software Licentievoorwaarden voor Visual Studio 2015, op Distributable-codebestanden voor Microsoft Visual Studio 2015.

Zie Bepalen welke DLL's (Dynamic Link Libraries) u kunt herdistribueren en implementatievoorbeelden voor meer informatie over herdistribueerbare bestanden.

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 de bestanden ook te vinden in %VCToolsRedistDir%. In Visual Studio 2015 vindt u deze bestanden in %VCINSTALLDIR%redist\<locale>, waarbij <locale> de landinstelling van de herdistribueerbare pakketten is.

In Visual Studio 2022 en 2019 maken samenvoegmodulebestanden deel uit van een optioneel installeerbaar onderdeel met de naam Visual C++ <version> Herdistribueerbare samenvoegmodules in het Visual Studio Installer. De samenvoegmodules worden standaard geïnstalleerd als onderdeel van een C++-installatie in Visual Studio 2017 en Visual Studio 2015. Wanneer ze zijn geïnstalleerd in Visual Studio 2022, kunt u de herdistribueerbare samenvoegmodules vinden in %VCINSTALLDIR%Redist\MSVC\v143\MergeModules.

In de nieuwste versie van Visual Studio 2019 vindt u de herdistribueerbare samenvoegmodules 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 Visual C++ Redistributable-pakketten 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 pakket voor 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, is het pakket niet geïnstalleerd. In Visual Studio 2015 of hoger geven herdistribueerbare pakketten een foutbericht weer waarin staat dat de installatie is mislukt. Als een pakket de vlag gebruikt om uit te voeren, wordt er geen foutbericht weergegeven. In beide gevallen registreert het Microsoft-installatieprogramma de fout en wordt er 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 -sleutel.

Het versienummer is 14.0 voor Visual Studio 2015, 2017, 2019 en 2022, omdat de nieuwste Redistributable binair compatibel is met eerdere versies tot 2015. De sleutel is , of afhankelijk van de geïnstalleerde versies voor het platform. (U moet alleen onder de subsleutel controleren 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 en ook in de set van , , , en 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 , , of tonen een dialoogvenster waarin de beschikbare opties worden weergegeven. U kunt opgeven dat u het redistributable wilt installeren, herstellen of verwijderen. Met de optie 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 opgeven, die de voortgang weergeeft, maar anders geen tussenkomst van de gebruiker vereist. U kunt ook een optie opgeven die geen gebruikersinterface weergeeft of gebruikersinteractie vereist. De optie onderdrukt pogingen om opnieuw op te starten. Standaard wordt er een logboekbestand gemaakt in . U kunt 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 ( 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 herdistribueerbaar pakket maakt het mogelijk dat Microsoft de runtimebibliotheekbestanden onafhankelijk van elkaar kan verwerken. Het verwijderen van uw app kan geen invloed hebben op andere toepassingen die ook gebruikmaken van centrale implementatie.

Wanneer u een herdistribueerbaar 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 -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 Redistribute met behulp van samenvoegmodules voor meer informatie. Zie Walkthrough voor een voorbeeld: 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 DLL's die zijn vereist voor uw toepassing niet kunt vinden, wordt mogelijk een bericht weergegeven dat vergelijkbaar is met deze: 'Deze toepassing kan niet worden gestart omdat library.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 uw toepassing correct wordt gebouwd. Controleer of de herdistribueerbare bibliotheken correct worden geïmplementeerd op het doelsysteem. Zie Inzicht in de afhankelijkheden van een Visual C++-toepassing voor meer informatie.

  • Herdistributie met behulp van samenvoegmodules beschrijft hoe u Visual C++ Redistributable-samenvoegmodules gebruikt om de Visual C++ Runtime-bibliotheken te installeren als gedeelde DLL's in de map.
  • Visual C++ ActiveX-besturingselementen opnieuw distribueren, beschrijft hoe u een toepassing die gebruikmaakt van ActiveX-besturingselementen opnieuw kunt distribueren.
  • Herdistributie van de Microsoft Foundation Class -bibliotheek (MFC) beschrijft hoe u een toepassing die gebruikmaakt van MFC opnieuw kunt distribueren.
  • Een ATL-toepassing (Active Template Library) opnieuw distribueren, beschrijft hoe u een toepassing die gebruikmaakt van een ATL opnieuw distribueren. In Visual Studio 2012 en hoger is geen ATL-bibliotheek vereist.
  • Voorbeelden van implementaties zijn koppelingen naar voorbeelden die laten zien hoe u Visual C++-toepassingen implementeert.
  • Desktoptoepassingen implementeren introduceert Visual C++ implementatieconcepten en -technologieën.
  • De meest recente ondersteunde downloads van Visual C++ Redistributable bevatten koppelingen naar deze nieuwste downloads.