web-dev-qa-db-fra.com

DLL redistribuables Visual C++ 2015 pour le déploiement local des applications

Jusqu'à Visual Studio 2013, tout ce dont vous aviez besoin était msvcr [version] .dll et msvcp [version] .dll . Ils ont maintenant modifié les DLL avec 2015 . ?

MODIFIER:

Cela semble impossible maintenant: http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

"Le déploiement local de l'application Universal CRT n'est pas pris en charge."

METTRE À JOUR:

Le contenu de link above a été mis à jour le 11 septembre 2015. Il est maintenant possible de déployer une application au niveau local.

17
yoni0505

Cela a fonctionné pour moi (application x86).

Expédiez toutes les dll de ces emplacements avec votre application:

  • C:\Program Files (x86)\Kits Windows\10\Redist\ucrt\DLLs\x86
  • C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x86\Microsoft.VC140.CRT 
13
Robert Muehsig

En général, vous pouvez utiliser dependency walker pour trouver la liste des dll dépendantes . En ce qui concerne les dll de Visual Studio Runtime, ce qui vous préoccupe le plus, ce sont les dll avec des versions spécifiques à Visual Studio. 

1
Paani

Moi-même, j'avais besoin d'un fichier supplémentaire pour y arriver. Voici les répertoires dans un format plus générique:

  1. Copiez tous les fichiers de "C:\Program Files\Windows Kits\10\Redist\ucrt\DLLs\x86" ou "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86" ( ou copiez-les à partir du répertoire x64 s'il s'agit d'une application 64 bits). Si vous utilisez Qt, copiez-les dans le répertoire créé par windeployqt.
  2. Copiez msvcp140.dll et vcruntime140.dll de: <Répertoire d’installation de Visual Studio 2015>\Microsoft Visual Studio 14.0 application bit).

En général, j'ai constaté que vous pouvez simplement effectuer l'étape n ° 1 et tenter d'exécuter votre application. Il vous indiquera le premier des fichiers manquants et, une fois que vous l'avez placé dans le répertoire de votre application, il vous indiquera le prochain dont vous avez besoin. Dans mon cas, c'était deux. La copie de fichiers similaires à partir de mon dossier <Windows>\System32, par exemple, a échoué. J'ai trouvé à l'aide de Dependency Walker et en essayant de satisfaire les dépendances qu'il indique d'être infructueuses.

Cela vous permet de créer une application portable qui fonctionnera sur M $ OS aussi vieux que XP; ou installer pour les utilisateurs sans vcredist_x86 ou vcredist_x64, qui n'ont pas les privilèges d'administrateur.

BTW: L'étape n ° 1 est assez officielle. Voici le blog MSDN: Présentation du Universal CRT On dit de tout copier pour qu'une application s'exécute sur tous les systèmes d'exploitation M $.

1
CodeLurker

Comme mentionné au point 6) de cet article, il est maintenant possible de déployer localement le tube cathodique universel. Pour ce faire, vous devez installer Windows 10 SDK et copier tous les fichiers binaires à partir de C:\Program Files (x86)\Windows Kits\10\Redist\ucrt.

0
Nikita