Packages d’infrastructure runtime C++ pour Desktop Bridge

Cet article explique comment créer un conteneur Desktop Bridge qui inclut les bibliothèques runtime C++ correctes.

Version d’origine du produit : Windows 10
Numéro de la base de connaissances d’origine : 3176696

Résumé

Les applications de bureau Windows qui ont une dépendance vis-à-vis des bibliothèques Runtime C++ doivent spécifier la version correspondante du package d’infrastructure runtime C++ pour Desktop Bridge lors de la création du package d’application. Cette opération doit être effectuée au lieu de simplement redistribuer les bibliothèques runtime C++ incluses avec Visual Studio ou visual C++ Runtime redistributable (VCRedist). Les applications de bureau Windows qui s’exécutent dans un conteneur Desktop Bridge ne peuvent pas utiliser les bibliothèques runtime C++ incluses avec Visual Studio ou VCRedist. Une application qui s’exécute dans un conteneur Desktop Bridge et qui utilise une version incorrecte des bibliothèques runtime C++ peut échouer lorsqu’elle tente d’accéder à des ressources telles que le système de fichiers ou le Registre. Cet article explique comment créer un conteneur Desktop Bridge qui inclut les bibliothèques runtime C++ correctes.

Guide pratique pour installer et mettre à jour des packages d’infrastructure de bureau

Microsoft fournit des packages d’infrastructure runtime C++ pour permettre aux applications de référencer le runtime C++ à partir d’applications de bureau distribuées via le Windows Store. Ces packages sont distribués et mis à jour via le Windows Store et sont gérés de la même façon que les packages d’infrastructure UWP C++.

À des fins de développement, la version actuelle (v14.0) des packages appx de débogage et de vente au détail est incluse dans Visual Studio 2022 lorsque vous choisissez la charge de travail Développement de plateforme Windows universelle avec le composant Outils Windows universels C++ (v143) facultatif. Les packages se trouvent sous %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0.

Remarque

Les liens de téléchargement de package suivants sont désormais déconseillés et peuvent ne plus fonctionner à l’avenir. Veillez à utiliser la méthode décrite ci-dessus pour obtenir les packages d’infrastructure.

Packages d’infrastructure de bureau hérités

Les packages d’infrastructure runtime C++ plus anciens pour les applications de bureau, v11.0 et v12.0, peuvent être téléchargés et installés à partir de ces emplacements :

Les packages d’infrastructure runtime C++ seront copiés dans un sous-dossier sous %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop. Vous pouvez installer les packages manuellement à l’aide de l’applet de Add-AppxPackage commande PowerShell.

Guide pratique pour référencer les packages d’infrastructure de bureau

Dans le fichier AppxManifest.xml de votre application, spécifiez une PackageDependency valeur qui correspond au package d’infrastructure approprié :

  • 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>
    

L’application installe maintenant les DLL runtime C++ à partir du package de dépendances lors de son déploiement.

References

Utilisation du runtime Visual C++ dans le projet Centennial