C++ Runtime-frameworkpakketten voor Desktopbrug
In dit artikel wordt beschreven hoe u een Desktopbrug-container maakt die de juiste C++ Runtime-bibliotheken bevat.
Oorspronkelijke productversie: Windows 10
Oorspronkelijk KB-nummer: 3176696
Samenvatting
Windows-bureaubladtoepassingen met een afhankelijkheid van de C++ Runtime-bibliotheken moeten de bijbehorende versie van het C++ Runtime-frameworkpakket opgeven voor Desktopbrug tijdens het maken van het toepassingspakket. Dit moet worden gedaan in plaats van alleen de C++ Runtime-bibliotheken die zijn opgenomen in Visual Studio of de Herdistribueerbare Visual C++ Runtime (VCRedist) opnieuw te distribueren. Windows-bureaubladtoepassingen die worden uitgevoerd in een Desktopbrug-container kunnen de C++ Runtime-bibliotheken die zijn opgenomen in Visual Studio of VCRedist, niet gebruiken. Een toepassing die wordt uitgevoerd in een Desktopbrug container en die gebruikmaakt van een onjuiste versie van de C++-runtimebibliotheken, kan mislukken wanneer wordt geprobeerd toegang te krijgen tot resources zoals het bestandssysteem of het register. In dit artikel wordt beschreven hoe u een Desktopbrug container maakt die de juiste C++ Runtime-bibliotheken bevat.
Desktop Framework-pakketten installeren en bijwerken
Microsoft biedt C++ Runtime Framework-pakketten waarmee toepassingen kunnen verwijzen naar de C++-runtime vanuit desktoptoepassingen die worden gedistribueerd via de Windows Store. Deze pakketten worden gedistribueerd en bijgewerkt via de Windows Store en worden op dezelfde manier afgehandeld als C++ UWP-frameworkpakketten.
Voor ontwikkelingsdoeleinden is de huidige versie (v14.0) van zowel foutopsporings- als retail-appx-pakketten opgenomen in Visual Studio 2022 wanneer u de workload Universeel Windows-platform Ontwikkeling kiest met het optionele onderdeel C++ (v143) Universal Windows Tools. De pakketten zijn te vinden onder %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
Notitie
De volgende downloadkoppelingen voor pakketten zijn nu afgeschaft en werken mogelijk niet meer in de toekomst. Zorg ervoor dat u de hierboven beschreven methode gebruikt om de frameworkpakketten te verkrijgen.
Verouderde Desktop-frameworkpakketten
Oudere C++ Runtime-frameworkpakketten voor bureaubladtoepassingen, v11.0 en v12.0, kunnen vanaf deze locaties worden gedownload en geïnstalleerd:
- C++ Runtime v11.0-frameworkpakket voor Desktopbrug (Project Centennial)
- C++ Runtime v12 Framework-pakket voor Desktopbrug (Project Centennial)
De C++ Runtime Framework-pakketten worden gekopieerd naar een submap onder %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
. U kunt de pakketten handmatig installeren met behulp van de Add-AppxPackage
PowerShell-cmdlet.
Verwijzen naar de Desktop Framework-pakketten
Geef in het AppxManifest.xml-bestand van uw toepassing een PackageDependency
waarde op die overeenkomt met het juiste frameworkpakket:
Versie 11.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/> </Dependencies>
Versie 12.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
Versie 14.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
De toepassing installeert nu de C++ Runtime-DLL's van het afhankelijkheidspakket wanneer deze wordt geïmplementeerd.