Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u een toepassing bouwt die gebruikmaakt van bibliotheek-DLL's die worden geleverd door Visual Studio, moeten gebruikers van uw toepassing deze DLL's ook op hun computers hebben om de toepassing uit te voeren. Omdat de meeste gebruikers Visual Studio waarschijnlijk niet hebben geïnstalleerd, moet u deze DLL's voor hen opgeven. Visual Studio maakt deze DLL's beschikbaar als Redistributable-bestanden die u kunt opnemen in het installatieprogramma van uw toepassing.
Om het gemakkelijker te maken om de Herdistribueerbare DLL's met uw installatieprogramma op te nemen, zijn ze beschikbaar als zelfstandige Redistributable-pakketten. Deze pakketten zijn architectuurspecifieke uitvoerbare bestanden die gebruikmaken van centrale implementatie om de Herdistribueerbare bestanden op de computer van een gebruiker te installeren. Installeert bijvoorbeeld vc_redist.x86.exe
de 32-bits bibliotheken voor zowel x86- als x64-computers, vc_redist.x64.exe
installeert de 64-bits bibliotheken voor x64-computers en vcredist.ARM64.exe
installeert de bibliotheken voor ARM- en ARM64-computers. We raden centrale implementatie aan omdat Microsoft de Windows Update-service kan gebruiken om deze bibliotheken onafhankelijk bij te werken. Naast de kopie in uw Visual Studio-installatie zijn de huidige Redistributable-pakketten beschikbaar om te downloaden. Zie voor koppelingen naar de meest recente ondersteunde Redistributable-pakketten voor zowel huidige als oudere hulpprogrammasets de meest recente ondersteunde Visual C++ Redistributable-downloads. Specifieke eerdere versies van de Redistributable-pakketten kunnen worden gevonden door te zoeken naar my.visualstudio.com
'Visual C++ Redistributable Packages'.
Om het gemakkelijker te maken om de Herdistribueerbare DLL's met uw installatieprogramma op te nemen, zijn ze beschikbaar als zelfstandige Redistributable-pakketten. Deze pakketten zijn architectuurspecifieke uitvoerbare bestanden die gebruikmaken van centrale implementatie om de Herdistribueerbare bestanden op de computer van een gebruiker te installeren. Installeert bijvoorbeeld vcredist_x86.exe
de 32-bits bibliotheken voor zowel x86- als x64-computers, vcredist_x64.exe
installeert de 64-bits bibliotheken voor x64-computers en vcredist_ARM.exe
installeert de bibliotheken voor ARM-computers. We raden centrale implementatie aan omdat Microsoft de Windows Update-service kan gebruiken om deze bibliotheken onafhankelijk bij te werken. Naast de kopie in uw Visual Studio-installatie zijn de huidige Redistributable-pakketten beschikbaar om te downloaden. Zie de meest recente ondersteunde Visual C++-downloads voor koppelingen naar de meest recente ondersteunde Redistributable-pakketten voor zowel huidige als oudere hulpprogramma's. Specifieke eerdere versies van de Redistributable-pakketten kunnen worden gevonden door te zoeken naar my.visualstudio.com
'Visual C++ Redistributable Packages'.
We ondersteunen alleen het gebruik van een Redistributable-pakket dat hetzelfde is als of hoger is dan uw toolsetversie. Het primaire versienummer van het Redistributable-pakket dat u implementeert, moet overeenkomen met de versie van de Visual Studio-toolset die wordt gebruikt om uw toepassing te maken en de secundaire versie moet hetzelfde of hoger zijn. Visual Studio 2022, 2019, 2017 en 2015 hebben allemaal compatibele versienummers van de toolset. Voor deze versies kunnen nieuwere Visual Studio Redistributable-bestanden worden gebruikt door apps die zijn gebouwd door een toolset van een oudere versie. Visual Studio 2022 Redistributable-bestanden kunnen bijvoorbeeld worden gebruikt door apps die zijn gebouwd met behulp van de Visual Studio 2017- of 2015-toolset. Hoewel ze mogelijk compatibel zijn, ondersteunen we het gebruik van oudere Redistributable-bestanden in apps die zijn gebouwd met behulp van een nieuwere toolset niet. Het gebruik van de 2017 Redistributable-bestanden in apps die zijn gebouwd met behulp van de 2019-toolset, wordt bijvoorbeeld niet ondersteund.
Het is ook mogelijk om de Herdistribueerbare DLL's met uw installatieprogramma op te nemen in samenvoegmodules. Deze methode is nu afgeschaft omdat bibliotheken die op deze manier zijn geïmplementeerd, niet automatisch kunnen worden bijgewerkt door Windows Update. Herdistribueerbare samenvoegmodules of Microsoft Installer-modules (.msm
bestanden) zijn optionele onderdelen die beschikbaar zijn in het Installatieprogramma van Visual Studio. Wanneer deze zijn geïnstalleerd, vindt u samenvoegmodules voor de Redistributable-DLL's in de installatiemap van Visual Studio onder %VCToolsRedistDir%\MergeModules\
. In Visual Studio 2015 en eerdere versies van Visual Studio vindt u deze bestanden in de map Program Files of Program Files (x86) in een Common Files\Merge Modules
submap. Zie Onderdelen opnieuw distribueren met behulp van Samenvoegmodules voor meer informatie over het gebruik van deze bestanden.
De afzonderlijke Redistributable-DLL's zijn ook opgenomen in uw installatie van Visual Studio. Ze worden standaard geïnstalleerd in de visual van de %VCToolsRedistDir%\[architecture]\Microsoft.[toolset].[library]
mappen, waar [architecture]
de doelarchitectuur wordt aangegeven, [toolset]
de versie van de toolset vertegenwoordigt en [library]
de bibliotheek vertegenwoordigt.
Het is ook mogelijk om de Herdistribueerbare DLL's met uw installatieprogramma op te nemen in samenvoegmodules. Deze methode is nu afgeschaft omdat bibliotheken die op deze manier zijn geïmplementeerd, niet automatisch kunnen worden bijgewerkt door Windows Update. Herdistribueerbare samenvoegmodules voor de Redistributable-DLL's vindt u in de map Program Files of Program Files (x86) in een Common Files\Merge Modules
submap. Zie Onderdelen opnieuw distribueren met behulp van Samenvoegmodules voor meer informatie over het gebruik van deze bestanden.
De afzonderlijke Redistributable-DLL's zijn ook opgenomen in uw installatie van Visual Studio. Ze worden standaard geïnstalleerd in de installatiemap van Visual Studio 2015 in de redist\debug_nonredist\[architecture]\Microsoft.[toolset].[library]
mappen, waar [architecture]
de doelarchitectuur staat voor de [toolset]
versie van de hulpprogramma's en [library]
de foutopsporingsbibliotheek met de foutopsporings-DLL's.
Gebruik de nieuwste versie van een DLL-bestand van de bibliotheek, het Redistributable-pakket of de samenvoegmodule in deze mappen. U kunt deze bibliotheken gebruiken voor lokale implementatie door ze te installeren in dezelfde map als uw toepassing. We raden lokale implementatie niet aan, omdat u hiermee verantwoordelijk bent voor het leveren van updates aan uw geïmplementeerde toepassingen. De centrale implementatie met behulp van redistributable-pakketten heeft de voorkeur.
Als u wilt bepalen welke DLL's u met uw toepassing moet distribueren, verzamelt u een lijst met de DLL's waarvan uw toepassing afhankelijk is. Deze DLL's worden normaal gesproken vermeld als invoer van importbibliotheken voor de linker. Bepaalde bibliotheken, zoals vcruntime en de Universal C Runtime Library (UCRT), zijn standaard opgenomen. Als uw app of een van de bijbehorende afhankelijkheden LoadLibrary
gebruikt om een DLL dynamisch te laden, wordt de DLL mogelijk niet weergegeven in de invoer naar het linkerprogramma. Een manier om de lijst met dynamisch geladen DLL's te verzamelen, is door Dependency Walker (depends.exe
) uit te voeren op uw app, zoals beschreven in Inzicht in de afhankelijkheden van een Visual C++-toepassing. Helaas is dit hulpprogramma verouderd en kan het melden dat bepaalde DLL's niet kunnen worden gevonden.
Wanneer u de lijst met afhankelijkheden hebt, vergelijkt u deze met de lijst die is gekoppeld aan het Redist.txt
bestand in de installatiemap van Microsoft Visual Studio. Of naar de 'REDIST-lijst' met herdistribueerbare DLL's waarnaar wordt verwezen in de sectie Distribueerbare codebestanden van de Licentievoorwaarden voor Microsoft-software voor uw exemplaar van Visual Studio. Zie Distributiebare code voor Visual Studio 2022. Zie Distributiebare code voor Visual Studio 2019. Zie Distributiebare code voor Microsoft Visual Studio 2017 (inclusief hulpprogramma's, uitbreidbaarheid en BuildServer Files) voor Visual Studio 2017. Zie Distributiebare code voor Microsoft Visual Studio 2015 en Microsoft Visual Studio 2015 SDK (inclusief hulpprogramma's en BuildServer Files) voor Visual Studio 2015. Voor Visual Studio 2013 is de lijst online beschikbaar in Distributiecode voor Microsoft Visual Studio 2013 en Microsoft Visual Studio 2013 SDK.
In Visual Studio-versies vóór Visual Studio 2015 werd de C Runtime Library (CRT) opgenomen als redistributable DLL in msvc[version].dll
. In Visual Studio 2015 zijn de functies in de CRT geherstructureerd in de vcruntime en de UCRT. Het UCRT is nu een systeemonderdeel in Windows 10 en hoger, beheerd door Windows Update. Het is beschikbaar op alle besturingssystemen van Windows 10 en hoger. Als u uw toepassing wilt implementeren in eerdere besturingssystemen, moet u het UCRT mogelijk ook opnieuw distribueren. Een vroege versie van het UCRT is opgenomen in de Visual Studio Redistributable-bestanden. Deze versie is alleen geïnstalleerd op besturingssystemen ouder dan Windows 10 en alleen als er geen versie van de UCRT al is geïnstalleerd. Zie Windows 10 Universal C Runtime in het Microsoft Downloadcentrum voor een installeerbare versie van de UCRT voor downlevelsystemen als een Microsoft System Update-pakket.
U kunt niet alle bestanden die zijn opgenomen in Visual Studio opnieuw distribueren. U kunt alleen de bestanden die zijn opgegeven in Redist.txt
of de online 'REDIST-lijst' opnieuw distribueren. U kunt ook geen foutopsporingsversies van uw toepassingen opnieuw distribueren, of de foutopsporingsversies van DLL's of bibliotheken die door Microsoft worden geleverd. U mag alleen uitvoerbare bestanden en bibliotheken voor foutopsporing kopiëren naar machines die u gebruikt voor het testen. Zie Een implementatiemethode kiezen voor meer informatie.
In de volgende tabel worden enkele visual C++-DLL's beschreven waarvan uw toepassing afhankelijk kan zijn.
Visual C++-bibliotheek | Beschrijving | Van toepassing op: |
---|---|---|
vcruntime[version].dll |
Runtimebibliotheek voor systeemeigen code. | Toepassingen die gebruikmaken van de normale C- en C++ opstart- en afsluitservices. |
vccorlib[version].dll |
Runtimebibliotheek voor beheerde code. | Toepassingen die gebruikmaken van de C++-taalservices voor beheerde code. |
msvcp[version].dll en msvcp[version_dotnumber].dll |
C++ Standaardbibliotheek voor systeemeigen code. | Toepassingen die gebruikmaken van de C++-standaardbibliotheek. |
concrt[version].dll |
Runtimebibliotheek voor gelijktijdigheid voor systeemeigen code. | Toepassingen die gebruikmaken van de Gelijktijdigheidsruntime. |
mfc[version].dll |
Microsoft Foundation Classes (MFC)-bibliotheek. | Toepassingen die gebruikmaken van de MFC-bibliotheek. |
mfc[version][language].dll |
Bibliotheekbronnen voor Microsoft Foundation-klassen (MFC). | Toepassingen die gebruikmaken van specifieke taalbronnen voor MFC. |
mfc[version]u.dll |
MFC-bibliotheek met Unicode-ondersteuning. | Toepassingen die gebruikmaken van de MFC-bibliotheek en unicode-ondersteuning vereisen. |
mfcmifc80.dll |
Bibliotheek met beheerde MFC-interfaces. | Toepassingen die gebruikmaken van de MFC-bibliotheek met Windows Forms-besturingselementen. |
mfcm[version].dll |
Beheerde MFC-bibliotheek. | Toepassingen die gebruikmaken van de MFC-bibliotheek met Windows Forms-besturingselementen. |
mfcm[version]u.dll |
Beheerde MFC-bibliotheek met Unicode-ondersteuning. | Toepassingen die gebruikmaken van de MFC-bibliotheek met Windows Forms-besturingselementen en unicode-ondersteuning vereisen. |
vcamp[version].dll |
AMP-bibliotheek voor systeemeigen code. | Toepassingen die gebruikmaken van de C++ AMP-bibliotheekcode . |
vcomp[version].dll |
OpenMP-bibliotheek voor systeemeigen code. | Toepassingen die gebruikmaken van de C++ OpenMP-bibliotheekcode . |
Opmerking
U hoeft de actieve sjabloonbibliotheek niet langer opnieuw te distribueren als een afzonderlijke DLL. De functionaliteit is verplaatst naar headers en een statische bibliotheek.
Zie Visual C++-bestanden opnieuw distribueren voor meer informatie over het opnieuw distribueren van deze DLL's met uw toepassing. Zie Voorbeelden van implementaties voor voorbeelden.
Normaal gesproken hoeft u geen DLL's van het systeem opnieuw te distribueren omdat ze deel uitmaken van het besturingssysteem. Er kunnen echter uitzonderingen zijn, bijvoorbeeld wanneer uw toepassing wordt uitgevoerd op verschillende versies van Microsoft-besturingssystemen. In dit geval moet u de bijbehorende licentievoorwaarden lezen. Probeer ook de systeem-DLL's te upgraden via Windows Update, servicepacks of door redistributable-pakketten te gebruiken die beschikbaar zijn gesteld door Microsoft.
Zie ook
Een implementatiemethode kiezen
Bureaubladtoepassingen implementeren