Partager via


Redistribution des fichiers Visual C++

Remarque

Vous voulez télécharger un des fichiers Runtime Visual C++ ? Accédez à la page Derniers téléchargements de Visual C++ Redistributable pris en charge.

Fichiers redistribuables et licences

Lorsque vous déployez une application, vous devez également déployer les fichiers qui sont requis pour sa prise en charge. Si un de ces fichiers est fourni par Microsoft, vérifiez si vous êtes autorisé à le redistribuer. Vous trouverez un lien vers les termes du contrat de licence Visual Studio dans l’IDE. Utilisez le lien Termes du contrat de licence dans la boîte de dialogue À propos de Microsoft Visual Studio. Vous pouvez aussi télécharger les CLUF et les licences pertinents depuis le répertoire des licences de Visual Studio.

Pour afficher la « liste REDIST » référencée dans la section « Code distribuable » des termes du contrat de licence logiciel Microsoft de Visual Studio 2022, consultez Fichiers de code distribuables pour Microsoft Visual Studio 2022.

Pour afficher la « liste REDIST » référencée dans la section « Code distribuable » des termes du contrat de licence logiciel Microsoft de Visual Studio 2019, consultez Fichiers de code distribuables pour Microsoft Visual Studio 2019.

Pour afficher la « liste REDIST » référencée dans la section « Code distribuable » des termes du contrat de licence logiciel Microsoft de Visual Studio 2017, consultez Fichiers de code distribuables pour Microsoft Visual Studio 2017.

Pour afficher la « liste REDIST » référencée dans la section « Code distribuable » des termes du contrat de licence logiciel Microsoft de Visual Studio 2015, consultez Fichiers de code distribuables pour Microsoft Visual Studio 2015.

Pour plus d’informations sur les fichiers redistribuables, consultez Détermination des DLL à redistribuer et Exemples de déploiement.

Localiser les fichiers redistribuables

Pour déployer des fichiers redistribuables, vous pouvez utiliser les packages redistribuables installés par Visual Studio. Dans les versions de Visual Studio depuis 2017, ces fichiers sont nommés vc_redist.arm64.exe, vc_redist.x64.exe et vc_redist.x86.exe. Dans Visual Studio 2015, 2017 et 2019, ils sont également disponibles sous les noms vcredist_x86.exe, vcredist_x64.exe et (2015 uniquement) vcredist_arm.exe.

Le moyen le plus simple de localiser les fichiers redistribuables est d’utiliser des variables d’environnement définies dans une invite de commandes développeur. Dans Visual Studio 2022, les fichiers redistribuables se trouvent dans le dossier %VCINSTALLDIR%Redist\MSVC\v143. Dans la version la plus récente de Visual Studio 2019, vous trouverez les fichiers redistribuables dans le dossier %VCINSTALLDIR%Redist\MSVC\v142. Dans Visual Studio 2017 et Visual Studio 2019, ils se trouvent également dans %VCToolsRedistDir%. Dans Visual Studio 2015, ces fichiers se trouvent dans %VCINSTALLDIR%redist\<locale>, où <locale> correspond aux paramètres régionaux des packages redistribuables.

Dans Visual Studio 2022 et 2019, les fichiers de module de fusion font partie d’un composant installable facultatif nommé MSM redistribuables C++ <version> dans Visual Studio Installer. Les modules de fusion sont installés par défaut dans le cadre d’une installation de C++ dans Visual Studio 2017 et Visual Studio 2015. Quand ils sont installés dans Visual Studio 2022, vous trouverez les modules de fusion redistribuables dans %VCINSTALLDIR%Redist\MSVC\v143\MergeModules. Dans la version la plus récente de Visual Studio 2019, les modules de fusion redistribuables se trouvent dans %VCINSTALLDIR%Redist\MSVC\v142\MergeModules. Dans Visual Studio 2019 et Visual Studio 2017, ils se trouvent également dans %VCToolsRedistDir%MergeModules. Dans Visual Studio 2015, ils se trouvent dans Program Files [(x86)]\Common Files\Merge Modules.

Installer les packages redistribuables

Les packages redistribuables Visual C++ installent et inscrivent toutes les bibliothèques Visual C++. Si vous en utilisez un, exécutez-le en tant que prérequis sur le système cible avant d’installer votre application. Nous vous recommandons d'utiliser ces packages pour les déploiements car ils permettent une mise à jour automatique des bibliothèques Visual C++. Pour obtenir un exemple d’utilisation de ces packages, consultez Procédure pas à pas : Déploiement d’une application Visual C++ à l’aide du package redistribuable Visual C++.

Chaque package Visual C++ Redistributable vérifie l’existence d’une version plus récente sur la machine. Si une version plus récente est trouvée, le package n’est pas installé. Dans Visual Studio 2015 et ultérieur, les packages redistribuables affichent un message d’erreur indiquant que l’installation a échoué. Si un package est exécuté en utilisant l’indicateur /quiet, aucun message d’erreur ne s’affiche. Dans les deux cas, une erreur est enregistrée par le programme d'installation de Microsoft, et un résultat d'erreur est retourné à l'appelant. Dans Visual Studio 2015 et ultérieur, vous pouvez éviter cette erreur en recherchant dans le Registre si une version plus récente est installée. Le numéro de la version installée actuelle est stocké dans la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64}. Le numéro de version est 14.0 pour Visual Studio 2015, 2017, 2019 et 2022, car la dernière version redistribuable est compatible au niveau binaire avec les versions précédentes jusqu’à 2015. La clé est arm64, x86 ou x64, selon les versions de vcredist installées pour la plateforme. (Vous devez vérifier sous la sous-clé Wow6432Node seulement si vous utilisez RegEdit pour voir la version du package x86 installé sur une plateforme x64.) Le numéro de version est stocké dans la valeur de chaîne REG_SZ Version, et aussi dans l’ensemble de valeurs Major, Minor, Bld et Rbld REG_DWORD. Pour éviter une erreur au moment de l’installation, vous devez ignorer l’installation du package redistribuable si la version actuellement installée est plus récente.

Options de ligne de commande pour les packages redistribuables

Le Visual C++ Redistributable prend en charge plusieurs options de ligne de commande. Les options /?, /h ou /help affichent une boîte de dialogue contextuelle qui liste les options disponibles. Vous pouvez spécifier /install pour installer, /repair pour réparer ou /uninstall pour désinstaller le redistribuable. L’option /layout copie le contenu complet du redistribuable dans le répertoire actif. Par défaut, le redistribuable installe son contenu, et invite l’utilisateur à entrer des informations et à indiquer s’il faut redémarrer après l’installation. Vous pouvez spécifier l’option /passive, qui affiche la progression mais ne nécessite pas d’interaction utilisateur. Vous pouvez également spécifier une option /quiet, qui n’affiche aucune interface utilisateur ni ne nécessite aucune interaction utilisateur. L’option /norestart supprime toutes les tentatives de redémarrage. Par défaut, un fichier journal est créé dans %TEMP%. Vous pouvez utiliser /log filename.txt pour journaliser dans un fichier spécifique.

Cet exemple de commande installe le redistribuable x64. Il affiche la progression de l’installation, mais ne nécessite pas d’interaction utilisateur ni de redémarrage :

vc_redist.x64.exe /install /passive /norestart

Installer les modules de fusion redistribuables

Important

Les modules de fusion (des fichiers.msm ) pour les fichiers Visual C++ Redistributable sont déconseillés. Nous vous déconseillons de les utiliser pour le déploiement d’applications. Au lieu de cela, nous vous recommandons un déploiement central du package Visual C++ Redistributable. Le déploiement central par un package redistribuable permet à Microsoft de maintenir les fichiers de bibliothèque runtime de façon indépendante. En outre, une désinstallation de votre application ne peut pas affecter d’autres applications qui utilisent également le déploiement central. Quand vous utilisez un package redistribuable pour un déploiement central, vous n’êtes pas responsable du suivi et de la maintenance des bibliothèques de runtime. Sinon, une mise à jour des fichiers de bibliothèque runtime vous oblige à mettre à jour et à redéployer votre programme d’installation .msi . Votre application peut être vulnérable aux bogues ou aux problèmes de sécurité jusqu’à ce que vous le fassiez.

Les modules de fusion redistribuables doivent être inclus dans le package Windows Installer (ou un package d’installation similaire) que vous utilisez pour déployer votre application. Pour plus d’informations, consultez Redistribution en utilisant des modules de fusion. Pour obtenir un exemple, consultez Procédure pas à pas : Déployer une application Visual C++ en utilisant un projet d’installation.

Installer des fichiers redistribuables individuels

Il est également possible d’installer directement les DLL redistribuables dans le dossier local de l’application. Le dossier local de l’application est le dossier qui contient le fichier exécutable de votre application. Pour des raisons liées à la maintenance, nous ne recommandons pas d’utiliser cet emplacement d’installation.

Erreurs potentielles à l’exécution

Si Windows ne peut pas trouver une des DLL de la bibliothèque redistribuable nécessaires pour votre application, un message similaire à celui-ci peut s’afficher : « Cette application n’a pas pu démarrer, car bibliothèque.dll est introuvable. Réinstaller l’application pourrait corriger ce problème. »

Pour résoudre ce type d’erreur, vérifiez que le programme d’installation de votre application est généré correctement. Vérifiez que les bibliothèques redistribuables sont déployées correctement sur le système cible. Pour plus d’informations, consultez Fonctionnement des dépendances d’une application Visual C++.

Redistribuer en utilisant des modules de fusion
Décrit comment utiliser des modules de fusion Visual C++ Redistributable pour installer les bibliothèques de runtime Visual C++ sous forme de DLL partagées dans le dossier %windir%\system32\.

Redistribution de contrôles ActiveX Visual C++
Décrit comment redistribuer une application qui utilise les contrôles ActiveX.

Redistribution de la bibliothèque MFC
Décrit comment redistribuer une application qui utilise MFC.

Redistribution d’une application ATL
Décrit comment redistribuer une application qui utilise ATL. Dans Visual Studio 2012 et ultérieur, aucune bibliothèque ATL n’est requise.

Exemples de déploiement
Fournit des liens vers des exemples qui illustrent le déploiement d'applications Visual C++.

Déploiement des applications de bureau
Présente les concepts et les technologies de déploiement de Visual C++.