Skip to main content
Si votre application s’appuie sur un logiciel redistribuable disponible dans le Microsoft Store sous forme de package d’infrastructure, au lieu d’installer le redistribuable en chaîne, vous pouvez déclarer une dépendance au package d’infrastructure. Toutefois, n’utilisez pas cette méthode si le Microsoft Store ne propose aucun package d’infrastructure pour le redistribuable dont vous dépendez. Envisagez plutôt des actions d’installation personnalisées.

Détails

  • Développez votre application de la manière 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 au package d’infrastructure concerné.
  • Lorsque l’utilisateur installe votre application à partir du Microsoft Store, celui-ci détecte la dépendance et veille à ce que le package d’infrastructure soit mis à la disposition de l’application. Si le package 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 package d’infrastructure avant de poursuivre l’installation de l’application qui l’utilise.
  • Une build x86 d’une application utilise une build x86 du package d’infrastructure. Une build x64 de l’application utilise une build x64 du package d’infrastructure. Vous n’avez rien à faire pour spécifier l’architecture. La plateforme s’en charge pour vous.

Runtime DirectX

Ce package d’infrastructure fournit divers composants facultatifs côte à côte issus de l’ancien SDK DirectX. Si votre application utilise les bibliothèques utilitaires Direct3D dépréciées D3DX9, D3DX10 ou D3DX11, XAudio 2.7, XInput 1.3 ou XACT, ce package peut être utilisé pour déployer ces DLL dépréciées pour votre application de bureau Win32 empaquetée. Pour plus d’informations sur ces composants, consultez ce billet de blog.
La grande majorité des titres qui utilisent DirectX n’ont PAS réellement besoin de cette dépendance au package 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 consiste à passer à XAudio 2.9 à l’aide des en-têtes du SDK Windows 10. Sous 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 fournit un redistribuable local à l’application simple prenant en charge XAudio2.9 sous 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 consiste à utiliser XInput 1.4 à l’aide des en-têtes du SDK Windows 10. Sous 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 blog.
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 package d’infrastructure a été mise à jour pour atténuer ce problème et passer à la signature de code SHA-256, mais le package d’origine DirectX End-User Runtime hérité n’a pas été modifié.
  • Pour Direct3D 10 (d3dx10), la meilleure option consiste à passer à Direct3D 11. Consultez Microsoft Docs.
  • Pour Direct3D 11 (d3dx11), consultez ce billet de blog pour découvrir différentes solutions de remplacement de l’ancienne bibliothèque D3DX pour Direct3D 11.
Pour les titres plus anciens, vous pouvez également envisager d’utiliser le package 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 dernière version disponible dans le SDK Windows 10. Sous Windows 10, il est inclus dans le système d’exploitation. Pour vos versions hors Store, vous pouvez inclure D3DCompiler_47.dll avec votre jeu sous forme de simple fichier local à l’application. Consultez ce billet de blog.
Ni ce package d’infrastructure ni l’ancien DirectX End-User Redistributable ne modifient le runtime DirectX de quelque manière que ce soit.
Exemple d’extrait de MicrosoftGame.config :
Il existe deux façons d’installer le package 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 l’installer (recommandé). Package d’infrastructure DirectX x86, Package d’infrastructure DirectX x64
  2. Entrez le lien suivant dans l’application Exécuter pour obtenir un exemple d’application DirectX qui installe le package de dépendance d’infrastructure DirectX. (Remarque : cela ne fonctionne que pour les ordinateurs se trouvant dans le sandbox de développement RETAIL, et seule la version de plateforme x64 sera installée si vous êtes sur un ordinateur de plateforme x64) : ms-windows-store://pdp/?productid=9MTF6XHMN17Z
Le package 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 au moment de l’exécution. Si vous utilisez une 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 package d’infrastructure inclut 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 particulier du runtime C/C++, la forme redistribuable traditionnelle et la forme de package 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 packages d’infrastructure nécessaires dans le dossier Extension SDKs suivant : %PROGRAMFILES(X86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs Veillez à charger indépendamment (sideload) la version qui correspond à l’architecture de votre application : x86 ou x64. Pour tester localement votre package et ses dépendances d’infrastructure, identifiez la version de Visual Studio avec laquelle votre application a été générée, chargez indépendamment les packages d’infrastructure APPX correspondants, puis inscrivez votre application. Pour plus d’informations, consultez Microsoft Docs.

Visual Studio 2012

Voici un exemple d’entrée de manifeste pour le package d’infrastructure VCLibs v11 de Visual Studio 2012.
Pour charger indépendamment ce package d’infrastructure
  • x86 :
    1. Recherchez le package 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. Recherchez le package 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 package d’infrastructure VCLibs v12 de Visual Studio 2012.
Pour charger indépendamment ce package d’infrastructure
  • x86 :
    1. Recherchez le package 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. Recherchez le package 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 package d’infrastructure VCLibs v14 de Visual Studio 2015 ou version ultérieure.
Pour charger indépendamment ce package d’infrastructure
  • x86 :
    1. Recherchez le package 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. Recherchez le package 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. Pour plus d’informations, consultez Microsoft Docs.

Test local

Après avoir inclus les références dans le manifeste approprié et chargé indépendamment le package 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 ensuite 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 package 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 blog Using Visual C++ Runtime in Centennial project.
Last modified on October 6, 2026