Skip to main content
Si votre application dépend d’un logiciel redistribuable offert dans le Microsoft Store sous forme de paquet d’infrastructure (framework package), au lieu d’installer en chaîne le redistribuable, vous pouvez déclarer une dépendance envers le paquet d’infrastructure. Toutefois, n’utilisez pas cette méthode si le Microsoft Store n’offre aucun paquet d’infrastructure pour votre redistribuable dépendant. Envisagez plutôt des actions d’installation personnalisées.

Détails

  • Développez votre application de la façon habituelle en référençant les bibliothèques d’exportation du redistribuable requis.
  • Au lieu de regrouper le redistribuable dépendant avec votre application, mettez à jour votre manifeste pour déclarer la dépendance envers le paquet d’infrastructure pertinent.
  • Lorsque l’utilisateur installe votre application à partir du Microsoft Store, celui-ci détecte la dépendance et s’assure que le paquet d’infrastructure est mis à la disposition de l’application. Si le paquet d’infrastructure est déjà installé sur l’appareil de l’utilisateur, aucune autre action n’est nécessaire. Sinon, le Microsoft Store déclenche l’installation du paquet d’infrastructure avant de poursuivre l’installation de l’application qui l’utilise.
  • Une build x86 d’une application utilise une build x86 du paquet d’infrastructure. Une build x64 de l’application utilise une build x64 du paquet d’infrastructure. Vous n’avez rien à faire pour spécifier l’architecture. La plateforme s’en occupe pour vous.

Runtime DirectX

Ce paquet d’infrastructure fournit divers composants facultatifs côte à côte provenant de l’ancien SDK DirectX. Si votre application utilise les bibliothèques d’utilitaires Direct3D dépréciées D3DX9, D3DX10 ou D3DX11, XAudio 2.7, XInput 1.3 ou XACT, ce paquet peut être utilisé pour déployer ces DLL dépréciées pour votre application de bureau Win32 empaquetée. Consultez ce billet de blogue pour plus de contexte sur ces composants.
La grande majorité des titres qui utilisent DirectX n’ont PAS réellement besoin de cette dépendance au paquet d’infrastructure de l’« ancien SDK DirectX ».
Vous pouvez également mettre à jour votre application pour supprimer les dépendances à l’ancien SDK DirectX.
  • Pour XAudio2, la meilleure option est de passer à XAudio 2.9 en utilisant les en-têtes du SDK Windows 10. Pour Windows 10, XAudio 2.9, X3DAudio et XAPOFX sont tous intégrés au système d’exploitation. Pour vos versions hors Store, vous pouvez utiliser XAudio2Redist, qui offre un redistribuable simple local à l’application prenant en charge XAudio2.9 sur Windows 7 SP1 ou version ultérieure. Cela simplifie le déploiement et corrige de nombreux bogues connus de l’ancienne version XAudio 2.7. Consultez Microsoft Docs.
  • Pour XInput, la meilleure option est d’utiliser XInput 1.4 avec les en-têtes du SDK Windows 10. Pour Windows 10, XInput 1.4 est inclus dans le système d’exploitation. Pour vos versions hors Store, vous pouvez utiliser XInput 9.1.0, qui est inclus dans le système d’exploitation depuis Windows Vista. Consultez ce billet de blogue.
L’utilisation de l’ancienne version XInput 1.3 est fortement déconseillée, car elle présente des problèmes de sécurité connus. La version incluse dans le paquet d’infrastructure a été mise à jour pour atténuer ce problème et pour passer à la signature de code SHA-256, mais le paquet d’origine de l’ancien DirectX End-User Runtime n’a pas été modifié.
  • Pour Direct3D 10 (d3dx10), la meilleure option est de passer à Direct3D 11. Consultez Microsoft Docs.
  • Pour Direct3D 11 (d3dx11), consultez ce billet de blogue pour connaître divers remplacements de l’ancienne bibliothèque D3DX pour Direct3D 11.
Pour les titres plus anciens, vous pouvez également envisager d’utiliser le paquet NuGet Microsoft.DXSDK.D3DX, qui fournit les versions de juin 2010 de D3DX9, D3DX10 et D3DX11 avec une licence côte à côte. Ces DLL redistribuables sont également signées avec un code SHA-256.
  • Pour le compilateur HLSL (D3DCompiler), vous pouvez utiliser la plus récente version incluse dans le SDK Windows 10. Pour Windows 10, il est inclus dans le système d’exploitation. Pour vos versions hors Store, vous pouvez inclure le fichier D3DCompiler_47.dll avec votre jeu en tant que simple fichier local à l’application. Consultez ce billet de blogue.
Ni ce paquet d’infrastructure ni l’ancien DirectX End-User Redistributable ne modifient le runtime DirectX de quelque façon que ce soit.
Exemple d’extrait de MicrosoftGame.config :
Il existe deux façons d’installer le paquet d’infrastructure DirectX sur un ordinateur de développement ou de test.
  1. Téléchargez-le à partir du site Microsoft Downloads et double-cliquez sur les fichiers Appx pour les installer (recommandé). Paquet d’infrastructure DirectX x86, Paquet d’infrastructure DirectX x64
  2. Entrez le lien suivant dans l’application Exécuter pour obtenir un exemple d’application DirectX qui installe le paquet de dépendance d’infrastructure DirectX. (Remarque : cela fonctionne uniquement pour les ordinateurs dans le sandbox de développement RETAIL, et seule la version de plateforme x64 sera installée si vous utilisez un ordinateur de plateforme x64) : ms-windows-store://pdp/?productid=9MTF6XHMN17Z
Le paquet d’infrastructure DirectX n’installe pas ces DLL dans le dossier System32. Elles se trouvent dans le chemin de recherche de votre application empaquetée à l’exécution. Si vous utilisez la liaison explicite, n’utilisez pas les indicateurs LoadLibraryEx LOAD_LIBRARY_SEARCH_SYSTEM32 ou LOAD_LIBRARY_SEARCH_APPLICATION_DIR pour charger ces anciennes bibliothèques DirectX.
La version 9.29.1974.0 de ce paquet d’infrastructure comprend des DLL de charge utile signées avec un code SHA-256, ainsi qu’un correctif de sécurité pour XInput 1.3.

Runtime C++ de Visual Studio

Dans le cas précis du runtime C/C++, la forme redistribuable traditionnelle et la forme de paquet d’infrastructure ne sont pas toujours identiques. Les applications traditionnelles hors Microsoft Store ont toujours utilisé la forme redistribuable traditionnelle. Les programmes d’installation mentionnés précédemment placent les paquets d’infrastructure nécessaires dans le dossier Extension SDKs suivant : %PROGRAMFILES(X86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs Assurez-vous de charger de façon indépendante (sideload) la version qui correspond à l’architecture de votre application : x86 ou x64. Pour tester localement votre paquet et ses dépendances d’infrastructure, déterminez la version de Visual Studio avec laquelle votre application a été générée, chargez de façon indépendante les paquets d’infrastructure APPX correspondants, puis inscrivez votre application. Consultez Microsoft Docs pour plus d’information.

Visual Studio 2012

Voici un exemple d’entrée de manifeste pour le paquet d’infrastructure VCLibs v11 de Visual Studio 2012.
Pour charger de façon indépendante ce paquet d’infrastructure
  • x86 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.110\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.11.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.110\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.11.00.Desktop.appx"
  • x64 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.110\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.11.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.110\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.11.00.Desktop.appx"

Visual Studio 2013

Voici un exemple d’entrée de manifeste pour le paquet d’infrastructure VCLibs v12 de Visual Studio 2012.
Pour charger de façon indépendante ce paquet d’infrastructure
  • x86 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.120\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.12.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.110\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.11.00.Desktop.appx"
  • x64 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.120\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.12.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop.120\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.12.00.Desktop.appx"

Visual Studio 2015 - 2022

Voici un exemple d’entrée de manifeste pour le paquet d’infrastructure VCLibs v14 de Visual Studio 2015 ou version ultérieure.
Pour charger de façon indépendante ce paquet d’infrastructure
  • x86 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.14.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x86\Microsoft.VCLibs.x86.14.00.Desktop.appx"
  • x64 :
    1. Repérez le paquet d’infrastructure : C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.14.00.Desktop.appx
    2. Double-cliquez dessus pour l’installer, ou exécutez la commande Windows PowerShell suivante : add-appxpackage "C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0\Appx\Retail\x64\Microsoft.VCLibs.x64.14.00.Desktop.appx"
N’oubliez pas que VS 2015 Update 3, VS 2017, VS 2019 et VS 2022 utilisent tous le même REDIST, celui de VS 2022 étant le plus récent. Consultez Microsoft Docs pour plus d’information.

Tests locaux

Après avoir inclus les références au manifeste approprié et chargé de façon indépendante le paquet d’infrastructure APPX, installez la version en fichiers libres de votre application à l’aide de la commande suivante : WdApp.exe register loose_build_path Cela garantit que votre application est installée et qu’elle référence l’infrastructure appropriée. Exécutez maintenant votre application à partir de sa vignette dans le menu Démarrer, puis effectuez les étapes de test et de validation nécessaires pour votre application. Une fois les tests terminés dans la configuration de chargement indépendant, créez un paquet MSIXVC en suivant les instructions de la rubrique Prise en main de l’empaquetage de titres pour PC à l’aide des outils d’empaquetage MSIXVC. Pour plus de détails, consultez le billet de blogue Using Visual C++ Runtime in Centennial project.
Last modified on October 6, 2026