Freigeben über


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:

Die C++-Runtime-Frameworkpakete werden in einen Unterordner unter %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktopkopiert. 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.

References

Verwenden von Visual C++-Runtime im Centennial-Projekt