ClickOnce: obtention des DLL MSVCRT C ++ sur la machine de l’utilisateur

J’ai essayé désespérément d’obtenir mon application (15 dll C # et 1 dll C ++ / CLI avec dépendances DLL C ++ Runtime) à déployer avec ClickOnce. Je l’ai obtenu en copiant simplement le dossier Release , mais ClickOnce refuse de copier les fichiers (msvcm80.dll, msvcp80.dll et msvcr80.dll) et de les déployer dans ce dossier.

J’ai fait cette solution de contournement (fournir msvcm80.dll, msvcp80.dll et msvcr80.dll en tant que contenu / copier si plus récent et au démarrage, créer le dossier Microsoft.VC80.CRT, copier ces DLL et créer Microsoft.VC80.CRT. manifeste) qui semble fonctionner, mais tout cela ne me convient pas.

Est-ce que je manque quelque chose?

Je suis stupide: je viens de trouver ceci:

Dans l’onglet Publier de la page Propriétés de mon projet de démarrage: cliquez sur le bouton Prérequirejs …> cochez Librairies Visual C ++ Runtime, paramètre du bouton radio: Téléchargez les prérequirejs à partir du site Web du fournisseur du composant.

Cela semble fonctionner comme on pourrait s’y attendre!

Il devrait y avoir un msi de Microsoft qui les déploie pour vous. J’ai utilisé….

instructions

et téléchargez vcredist_x86.exe download