Configuration des programmes pour Windows XP
Visual Studio prend en charge plusieurs ensembles d’outils de plateforme. Cela signifie qu’il est possible de cibler des systèmes d’exploitation et des bibliothèques d’exécution qui ne sont pas prises en charge par l’ensemble d’outils par défaut. Par exemple, en basculant l’ensemble d’outils de plateforme, vous pouvez utiliser le compilateur C++ Visual Studio 2017 pour créer des applications ciblant Windows XP et Windows Server 2003. Vous pouvez également utiliser des ensembles d’outils de plateforme plus anciens pour maintenir le code hérité compatible binaire et continuer à tirer parti des dernières fonctionnalités de l’IDE Visual Studio.
L’ensemble d’outils fourni dans Visual Studio 2019 et versions ultérieures n’inclut pas la prise en charge de la création de code pour Windows XP. La prise en charge du développement Windows XP est disponible à l’aide de l’ensemble d’outils Visual Studio 2017 v141_xp. Vous pouvez installer l’ensemble d’outils v141_xp en tant qu’option de composant individuelle dans Visual Studio Installer.
Installer l’ensemble d’outils de plateforme Windows XP
Pour obtenir l’ensemble d’outils et les composants de plateforme Visual Studio 2017 pour cibler Windows XP et Windows Server 2003, exécutez Visual Studio Installer. Lorsque vous installez Initialement Visual Studio ou lorsque vous modifiez une installation existante, vérifiez que le développement Desktop avec la charge de travail C++ est sélectionné. Dans la liste des composants facultatifs pour cette charge de travail, choisissez Prise en charge de Windows XP pour C++, puis choisissez Installer ou Modifier.
Pour obtenir l’ensemble d’outils et les composants de plateforme v141_xp pour cibler Windows XP et Windows Server 2003, exécutez Visual Studio Installer. Lorsque vous installez Initialement Visual Studio ou que vous modifiez une installation existante, vérifiez que le développement Desktop avec la charge de travail C++ est sélectionné. Sous l’onglet Composants individuels, sous Compilateurs, outils de génération et runtimes, choisissez Prise en charge de Windows XP C++ pour les outils VS 2017 (v141) [déconseillés], puis choisissez Installer ou modifier.
Ciblage de Windows XP
L’ensemble d’outils de plateforme Windows XP inclus dans Visual Studio est une version du Kit de développement logiciel (SDK) Windows 7, mais il utilise le compilateur C++ Visual Studio 2017. Il configure également les propriétés du projet avec les valeurs par défaut appropriées, par exemple, la spécification d’un éditeur de liens compatible pour le ciblage de bas niveau. Seules les applications de bureau Windows créées à l’aide d’un ensemble d’outils de plateforme Windows XP peuvent s’exécuter sur Windows XP et Windows Server 2003. Ces applications peuvent également s’exécuter sur des systèmes d’exploitation Windows plus récents.
Pour cibler Windows XP
Dans l’Explorateur de solutions, ouvrez le menu contextuel de votre projet et choisissez Propriétés.
Dans la boîte de dialogue Pages de propriétés du projet, définissez la liste déroulante Configuration sur Toutes les configurations.
Sélectionnez la page de propriétés Propriétés de configuration>Général. Définissez la propriété Platform Toolset sur votre ensemble d’outils Windows XP préféré. Par exemple, choisissez Visual Studio 2017 - Windows XP (v141_xp) pour créer du code pour Windows XP et Windows Server 2003 à l’aide du compilateur Microsoft C++ à partir de Visual Studio 2017.
Prise en charge du runtime C++
Outre l’ensemble d’outils de plateforme Windows XP, plusieurs bibliothèques incluent la prise en charge du runtime pour Windows XP et Windows Server 2003 :
- Bibliothèque d’exécution C universelle (UCRT)
- Bibliothèque standard C++
- Bibliothèque ATL (Active Template Library)
- Bibliothèque d’exécution d’accès concurrentiel (ConcRT)
- Bibliothèque de modèles parallèles
- Bibliothèque de classes Microsoft Foundation (MFC)
- Bibliothèque AMP C++ (programmation massive accélérée C++).
Les versions minimales prises en charge de ces systèmes d’exploitation sont les suivantes : Windows XP Service Pack 3 (SP3) pour x86, Windows XP Service Pack 2 (SP2) pour x64 et Windows Server 2003 Service Pack 2 (SP2) pour x86 et x64.
Ces bibliothèques sont prises en charge par les ensembles d’outils de plateforme installés par Visual Studio, en fonction de la cible :
Bibliothèque | Ensemble d'outils de plateforme par défaut ciblant les applications de bureau Windows | Ensemble d’outils de plateforme par défaut ciblant les applications Store | Ensemble d’outils de plateforme Windows XP ciblant Windows XP, Windows Server 2003 |
---|---|---|---|
CRT | X | X | X |
Bibliothèque standard C++ | X | X | X |
ATL | X | X | X |
ConcRT/PPL | X | X | X |
MFC | X | X | |
C++ AMP | X | X |
Remarque
Les applications écrites en C++/CLI et qui ciblent .NET Framework 4 s’exécutent sur Windows XP et Windows Server 2003.
Différences entre les ensembles d'outils
En raison des différences de prise en charge de la plateforme et de la bibliothèque, l’expérience de développement pour les applications qui utilisent un ensemble d’outils de plateforme Windows XP n’est pas aussi complète que pour les applications qui utilisent l’ensemble d’outils de plateforme par défaut.
Fonctionnalités du langage C++
Seules les fonctionnalités de langage C++ implémentées dans Visual Studio 2017 sont prises en charge dans les applications qui utilisent l’ensemble d’outils de plateforme v141_xp. Seules les fonctionnalités de langage C++ implémentées dans Visual Studio 2015 sont prises en charge dans les applications qui utilisent l’ensemble d’outils de plateforme v140_xp. Visual Studio utilise le compilateur correspondant lors du développement à l’aide d’ensembles d’outils de plateforme plus anciens. Utilisez l’ensemble d’outils de plateforme Windows XP le plus récent pour tirer parti des dernières fonctionnalités du langage C++ implémentées dans cette version du compilateur. Pour plus d’informations sur la prise en charge des fonctionnalités de langage par version du compilateur, consultez la conformité du langage Microsoft C/C++.
Débogage à distance
Le débogage à distance sur Windows XP ou Windows Server 2003 n’est pas pris en charge par Outils de contrôle à distance de Visual Studio. Pour déboguer une application localement ou à distance sur Windows XP ou Windows Server 2003, utilisez un débogueur à partir d’une version antérieure de Visual Studio. Il est similaire au débogage d’une application sur Windows Vista : Vista est une cible runtime de l’ensemble d’outils de plateforme, mais pas une cible de débogage à distance.
Analyse statique
Les ensembles d’outils de plateforme Windows XP ne prennent pas en charge l’analyse statique. Les annotations SAL pour le Kit de développement logiciel (SDK) Windows 7 et les bibliothèques runtime sont incompatibles. Vous pouvez toujours exécuter une analyse statique sur une application prenant en charge Windows XP ou Windows Server 2003. Basculez temporairement la solution pour cibler l’ensemble d’outils de plateforme par défaut pour l’analyse, puis revenez à l’ensemble d’outils de plateforme Windows XP pour générer l’application.
Débogage de DirectX Graphics
Le débogueur Graphics ne prend pas en charge l’API Direct3D 9. Il ne peut pas être utilisé pour déboguer des applications qui utilisent Direct3D sur Windows XP ou Windows Server 2003. Toutefois, si l’application implémente un autre renderer basé sur les API Direct3D 10 ou Direct3D 11, vous pouvez utiliser le débogueur Graphics pour diagnostiquer les problèmes.
Développement HLSL
L’ensemble d’outils Windows XP ne compile pas les fichiers de code source HLSL par défaut. Pour compiler les fichiers HLSL, téléchargez et installez le Kit de développement logiciel (SDK) DirectX de juin 2010, puis définissez les répertoires VC du projet de façon à l'inclure. Pour plus d’informations, consultez la section « DirectX SDK Ne pas inscrire les chemins d’accès include/bibliothèque avec Visual Studio 2010 » de la page de téléchargement du Kit de développement logiciel (SDK) DirectX juin 2010 (lien archivé).
Déploiement de Windows XP
Important
Étant donné qu’il ne prend pas en charge les certificats de signature de code SHA-256, la prise en charge de la bibliothèque d’exécution pour Windows XP n’est plus disponible dans la dernière version redistribuable Visual C++ pour Visual Studio 2015, 2017, 2019 et 2022. Dernier Redistribuable pour prendre en charge Windows XP fourni dans Visual Studio 2019 version 16.7. Utilisez un redistributable qui a une version de fichier à partir de la version 14.27. Si vos applications Windows XP sont déployées avec ou mises à jour vers une version ultérieure du redistribuable, les applications ne s’exécutent pas.
Si vous utilisez une version de Visual Studio ultérieure à Visual Studio 2019 version 16.7, les fichiers redistribuables ne fonctionnent pas sur Windows XP. Pour obtenir une copie des fichiers redistribuables qui prennent en charge Windows XP, vous avez besoin d’un compte Visual Studio. Utilisez le compte que vous utilisez pour vous connecter à Visual Studio. Vous pouvez également créer gratuitement un compte à my.visualstudio.com. Le fichier redistribuable est disponible dans la section Téléchargements, comme Redistributable Visual C++ pour Visual Studio 2019 - Version 16.7. Pour télécharger les fichiers, sélectionnez la plateforme et la langue dont vous avez besoin, puis choisissez le bouton Télécharger.
Vous pouvez utiliser le déploiement central ou le déploiement local pour installer la prise en charge de la bibliothèque runtime pour votre application Windows XP. Pour plus d’informations, consultez Procédure pas à pas : déploiement d’une application Visual C++ à l’aide du package redistribuable Visual C++.