C++-Runtimeframeworkpakete für Desktop-Brücke
In diesem Artikel wird beschrieben, wie Sie einen Desktop Bridge-Container erstellen, der die richtigen C++-Runtimebibliotheken enthält.
Ursprüngliche Produktversion: Windows 10
Ursprüngliche KB-Nummer: 3176696
Zusammenfassung
Windows-Desktopanwendungen, die von den C++-Runtimebibliotheken abhängig sind, müssen während der Erstellung des Anwendungspakets die entsprechende Version des C++-Runtime-Frameworkpakets für Desktop Bridge angeben. Dies muss geschehen, anstatt nur die C++-Runtimebibliotheken neu zu verteilen, die in Visual Studio oder der Visual C++-Runtime redistributable (VCRedist) enthalten sind. Windows-Desktopanwendungen, die in einem Desktop bridge-Container ausgeführt werden, können die C++-Runtimebibliotheken, die in Visual Studio oder VCRedist enthalten sind, nicht verwenden. Eine Anwendung, die in einem Desktop-Bridge-Container ausgeführt wird und eine falsche Version der C++-Laufzeitbibliotheken verwendet, schlägt möglicherweise fehl, wenn sie versucht, auf Ressourcen wie das Dateisystem oder die Registrierung zuzugreifen. In diesem Artikel wird erläutert, wie Sie einen Desktop bridge-Container erstellen, der die richtigen C++-Runtimebibliotheken enthält.
Installieren und Aktualisieren von Desktopframeworkpaketen
Microsoft stellt C++-Runtime-Frameworkpakete bereit, mit denen Anwendungen aus Desktopanwendungen, die über den Windows Store verteilt werden, auf die C++-Runtime verweisen können. Diese Pakete werden über den Windows Store verteilt und aktualisiert und ähnlich wie C++-UWP-Frameworkpakete behandelt.
Zu Entwicklungszwecken ist die aktuelle Version (v14.0) von Debug- und Verkaufs-Appx-Paketen in Visual Studio 2022 enthalten, wenn Sie die Workload Entwicklung für die universelle Windows-Plattform mit der optionalen Komponente für universelle Windows-Tools in C++ (v143) auswählen. Die Pakete finden Sie unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
.
Hinweis
Die folgenden Paketdownloadlinks sind jetzt veraltet und funktionieren möglicherweise in Zukunft nicht mehr. Stellen Sie sicher, dass Sie die oben beschriebene Methode verwenden, um die Frameworkpakete abzurufen.
Legacy-Desktopframeworkpakete
Ältere C++-Runtime-Frameworkpakete für Desktopanwendungen, v11.0 und v12.0, können von diesen Speicherorten heruntergeladen und installiert werden:
- C++-Runtime v11.0-Frameworkpaket für Desktopbrücke (Project Centennial)
- C++-Runtime v12-Frameworkpaket für Desktop-Brücke (Project Centennial)
Die C++-Runtime-Frameworkpakete werden in einen Unterordner unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
kopiert. Sie können die Pakete manuell mithilfe des Add-AppxPackage
PowerShell-Cmdlets installieren.
Verweisen auf die Desktopframeworkpakete
Geben Sie in der AppxManifest.xml-Datei Ihrer Anwendung einen PackageDependency
Wert an, der dem entsprechenden Frameworkpaket entspricht:
Version 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>
Version 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>
Version 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>
Die Anwendung installiert nun die C++-Runtime-DLLs aus dem Abhängigkeitspaket, wenn es bereitgestellt wird.