Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’installation de votre application sur un ordinateur autre que votre ordinateur de développement est appelée déploiement. Lorsque vous déployez une application Microsoft C++ sur un autre ordinateur, vous devez installer l’application et tous les fichiers de bibliothèque dont elle dépend. Visual Studio permet de déployer les bibliothèques Microsoft C++ de trois façons avec votre application : déploiement central, déploiement local et liaison statique. Le déploiement central place les fichiers de bibliothèque sous le répertoire Windows, où toutes les applications peuvent y accéder automatiquement. Le déploiement local place les fichiers bibliothèques dans le même répertoire que votre application. Vous devez redéployer vous-même les bibliothèques déployées localement pour les mettre à jour. La liaison statique lie le code des bibliothèques dans votre application. Vous devez recompiler et redéployer votre application pour tirer parti des mises à jour apportées aux bibliothèques lorsque vous utilisez la liaison statique.
Dans Visual Studio 2015, la bibliothèque Microsoft C Runtime a été refactorisée en composants de bibliothèque locale spécifique à une version et en une nouvelle bibliothèque Universal Runtime C qui fait désormais partie de Windows. Pour plus d’informations sur le déploiement de Universal CRT, consultez Déploiement de Universal CRT.
Déploiement central
Dans le déploiement central, les fichiers DLL de bibliothèque sont installés dans le Windows\System32 répertoire, ou pour les fichiers de bibliothèque 32 bits sur les systèmes x64, le Windows\SysWow64 répertoire. Les fichiers de bibliothèque déployés de manière centralisée sont disponibles pour d’autres applications.
Pour déployer de manière centralisée des bibliothèques Microsoft C++, vous pouvez utiliser l’une des deux sources suivantes pour installer les fichiers :
Fichiers de package redistribuables. Ces fichiers sont des exécutables en ligne de commande autonomes qui contiennent toutes les bibliothèques Redistribuables Visual C++ sous forme compressée. Les derniers packages Redistribuables sont disponibles à partir des téléchargements Redistribuables Microsoft Visual C++ Les derniers téléchargements pris en charge. Lorsque vous utilisez les packages Redistribuables pour le déploiement central, Windows Update peut traiter les bibliothèques indépendamment.
Modules de fusion redistribuables (
.msmfichiers), que vous pouvez inclure dans le fichier Windows Installer (.msi) de votre application. Cette méthode est déconseillée, car les bibliothèques déployées de cette façon ne peuvent pas être mises à jour automatiquement par Windows Update. Pour plus d’informations, consultez Redistribution en utilisant des modules de fusion.
Un fichier de package redistribuable installe toutes les bibliothèques Microsoft C++ pour une architecture système particulière. Par exemple, si votre application est générée pour x64, vous pouvez utiliser le vcredist_x64.exe package pour installer toutes les bibliothèques Microsoft C++ utilisées par votre application. Vous pouvez programmer le programme d’installation de votre application pour exécuter le package en tant que prérequis avant d’installer votre application.
Le déploiement central à l’aide d’un package Redistribuable permet à Windows Update de mettre à jour automatiquement les bibliothèques Microsoft C++. Pour une sécurité et des fonctionnalités continues, nous vous recommandons d’utiliser les DLL de bibliothèque dans votre application au lieu de bibliothèques statiques, et d’utiliser des packages redistribuables et un déploiement central au lieu du déploiement local.
Déploiement local
Dans un déploiement local, les fichiers bibliothèques sont installés dans le dossier de votre application avec le fichier exécutable. Différentes versions des bibliothèques Redistribuables Visual C++ peuvent être installées dans le même dossier, car le nom de fichier de chaque version inclut son numéro de version. Par exemple, la version 12 de la bibliothèque runtime C++ est msvcp120.dll, et la version 14 est msvcp140.dll.
Les extensions d’une bibliothèque peuvent être réparties sur plusieurs DLL supplémentaires, appelées bibliothèques de points. Par exemple, certaines fonctionnalités de la bibliothèque standard publiée dans Visual Studio 2017 version 15.6 ont été ajoutées dans msvcp140_1.dll, pour préserver la compatibilité ABI de msvcp140.dll. Si vous utilisez Visual Studio 2017 version 15.6 (ensemble d’outils 14.13) ou version ultérieure, vous devrez peut-être déployer localement ces bibliothèques points et la bibliothèque principale. Ces bibliothèques de points distinctes seront éventuellement ajoutées à la bibliothèque de base, lorsque l’ABI change.
Étant donné que Microsoft ne peut pas mettre à jour automatiquement les bibliothèques Microsoft C++ déployées localement, nous vous déconseillons de déployer localement ces bibliothèques. Si vous décidez d’utiliser le déploiement local des bibliothèques Redistribuables, nous vous recommandons d’implémenter votre propre méthode de mise à jour automatique des bibliothèques déployées localement.
Liaison statique
En plus des bibliothèques liées dynamiquement, Visual Studio fournit la plupart de ses bibliothèques sous forme de bibliothèques statiques. Vous pouvez lier statiquement une bibliothèque statique à votre application, c’est-à-dire lier le code objet de la bibliothèque directement dans l’application. La liaison statique crée un binaire unique sans dépendance DLL, afin que vous n’ayez pas à déployer séparément les fichiers de bibliothèque Microsoft C++. Toutefois, nous vous déconseillons cette approche, car les bibliothèques liées statiquement ne peuvent pas être mises à jour en place. Pour mettre à jour une bibliothèque liée lorsque vous utilisez la liaison statique, vous devez recompiler et redéployer votre application.
Dépannage de problèmes de déploiement
L’ordre de chargement des bibliothèques Microsoft C++ dépend du système. Pour diagnostiquer les problèmes de chargeur, utilisez depends.exe ou where.exe. Pour plus d’informations, consultez l’ordre de recherche de la bibliothèque de liens dynamiques (Windows).
Voir aussi
Déploiement d’applications de bureau
Déploiement de Universal CRT