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.
Installatie van uw toepassing op een andere computer dan uw ontwikkelcomputer wordt implementatie genoemd. Wanneer u een Microsoft C++-toepassing op een andere computer implementeert, moet u zowel de toepassing als de bibliotheekbestanden installeren waarop deze afhankelijk is. Visual Studio biedt drie manieren om de Microsoft C++-bibliotheken samen met uw toepassing te implementeren: centrale implementatie, lokale implementatie en statische koppeling. De centrale implementatie plaatst de bibliotheekbestanden onder de Windows-map, waar alle toepassingen deze automatisch kunnen openen. Lokale implementatie plaatst de bibliotheekbestanden in dezelfde map als uw toepassing. U moet alle lokaal geïmplementeerde bibliotheken zelf opnieuw implementeren om ze bij te werken. Statische koppeling verbindt de bibliotheekcode in uw toepassing. U moet uw toepassing opnieuw compileren en opnieuw implementeren om te profiteren van updates voor de bibliotheken wanneer u statische koppelingen gebruikt.
In Visual Studio 2015 is de Microsoft C Runtime-bibliotheek geherstructureerd in versiespecifieke lokale bibliotheekonderdelen en een nieuwe Universal C Runtime-bibliotheek die nu deel uitmaakt van Windows. Zie Universal CRT-implementatie voor meer informatie over de implementatie van de Universele CRT.
Centrale implementatie
In de centrale implementatie worden DLL-bestanden van de bibliotheek geïnstalleerd in de Windows\System32 map of voor 32-bits bibliotheekbestanden op x64-systemen, de Windows\SysWow64 map. Centraal geïmplementeerde bibliotheekbestanden zijn beschikbaar voor andere toepassingen.
Als u Microsoft C++-bibliotheken centraal wilt implementeren, kunt u een van deze twee bronnen gebruiken om de bestanden te installeren:
Herdistribueerbare pakketbestanden . Deze bestanden zijn zelfstandige opdrachtregel uitvoerbare bestanden die alle Visual C++ Redistributable-bibliotheken in gecomprimeerde vorm bevatten. De nieuwste Redistributable-pakketten zijn beschikbaar via Microsoft Visual C++ Redistributable Latest Supported Downloads. Wanneer u de Herdistribueerbare pakketten voor centrale implementatie gebruikt, kan Windows Update de bibliotheken onafhankelijk van elkaar onderhouden.
Herdistribueerbare samenvoegmodules (
.msmbestanden), die u kunt opnemen in het Windows Installer-bestand (.msi) van uw toepassing. Deze methode is afgeschaft omdat bibliotheken die op deze manier zijn geïmplementeerd, niet automatisch kunnen worden bijgewerkt door Windows Update. Zie Opnieuw distribueren met behulp van samenvoegmodulesvoor meer informatie.
Met een Herdistribueerbaar pakketbestand worden alle Microsoft C++-bibliotheken voor een bepaalde systeemarchitectuur geïnstalleerd. Als uw toepassing bijvoorbeeld is gebouwd voor x64, kunt u het vcredist_x64.exe pakket gebruiken om alle Microsoft C++-bibliotheken te installeren die door uw toepassing worden gebruikt. U kunt het installatieprogramma van uw toepassing programmeren om het pakket uit te voeren als een vereiste voordat u uw toepassing installeert.
De centrale implementatie met behulp van een Redistributable-pakket stelt Windows Update in staat om de Microsoft C++-bibliotheken automatisch bij te werken. Voor continue beveiliging en functionaliteit raden we u aan de bibliotheek-DLL's in uw toepassing te gebruiken in plaats van statische bibliotheken en om herdistribueerbare pakketten en centrale implementatie te gebruiken in plaats van lokale implementatie.
Lokale implementatie
In de lokale implementatie worden bibliotheekbestanden in de toepassingsmap samen met het uitvoerbare bestand geïnstalleerd. Verschillende versies van Visual C++ Redistributable-bibliotheken kunnen in dezelfde map worden geïnstalleerd omdat de bestandsnaam van elke versie het versienummer bevat. Versie 12 van de C++-runtimebibliotheek is msvcp120.dllbijvoorbeeld , en versie 14 is msvcp140.dll.
Uitbreidingen van een bibliotheek kunnen worden verspreid over meerdere extra DLL's, ook wel 'dot-libraries' genoemd. Sommige functionaliteit in de standaardbibliotheek die is uitgebracht in Visual Studio 2017 versie 15.6, is bijvoorbeeld toegevoegd aan msvcp140_1.dll om de ABI-compatibiliteit van msvcp140.dll te behouden. Als u Visual Studio 2017 versie 15.6 (toolset 14.13) of hoger gebruikt, moet u deze puntbibliotheken en de hoofdbibliotheek mogelijk lokaal implementeren. Deze afzonderlijke puntbibliotheken worden uiteindelijk toegevoegd aan de basisbibliotheek wanneer de ABI wordt gewijzigd.
Omdat Microsoft lokaal geïmplementeerde Microsoft C++-bibliotheken niet automatisch kan bijwerken, raden we lokale implementatie van deze bibliotheken niet aan. Als u besluit de lokale implementatie van de Redistributable-bibliotheken te gebruiken, raden we u aan uw eigen methode te implementeren voor het automatisch bijwerken van de lokaal geïmplementeerde bibliotheken.
Statische koppeling
Naast dynamisch gekoppelde bibliotheken levert Visual Studio de meeste bibliotheken als statische bibliotheken. U kunt een statische bibliotheek statisch koppelen aan uw toepassing, dat wil gezegd, de code van het bibliotheekobject rechtstreeks aan de toepassing koppelen. Met statische koppelingen maakt u één binair bestand zonder DLL-afhankelijkheid, zodat u de Microsoft C++-bibliotheekbestanden niet afzonderlijk hoeft te implementeren. We raden deze methode echter niet aan omdat statisch gekoppelde bibliotheken niet kunnen worden bijgewerkt. Als u een gekoppelde bibliotheek wilt bijwerken wanneer u statische koppelingen gebruikt, moet u uw toepassing opnieuw compileren en opnieuw implementeren.
Implementatieproblemen oplossen
De laadvolgorde van Microsoft C++-bibliotheken is systeemafhankelijk. Om problemen met de lader vast te stellen, gebruikt u depends.exe of where.exe. Zie de zoekvolgorde van de bibliotheek met dynamische koppelingen (Windows) voor meer informatie.
Zie ook
Bureaubladtoepassingen implementeren
Universele CRT-implementatie