microsoft - DLL redistribuibles de Visual C++ 2015 para la implementación local de la aplicación
microsoft visual c++ 2018 (4)
Hasta Visual Studio 2013, todo lo que necesitabas era msvcr [versión] .dll y msvcp [versión] .dll. Ahora cambiaron las DLL con 2015. ¿Qué debo incluir para evitar un instalador redist?
EDITAR:
Parece imposible ahora: http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx
"La implementación local de la aplicación de Universal CRT no es compatible".
ACTUALIZAR:
El contenido del link anterior se actualizó el 11 de septiembre de 2015. Ahora es posible realizar una implementación local de la aplicación.
Como se mencionó en el punto 6) de link artículo, ahora es posible realizar un despliegue local de Universal CRT. Para hacerlo, debe instalar Windows 10 SDK y copiar todos los archivos binarios de C:/Program Files (x86)/Windows Kits/10/Redist/ucrt
.
En general, puede usar el caminante de dependencias para encontrar la lista de archivos DLL dependientes. Con respecto a las dlls de Visual Studio Runtime, lo que más te preocupa son las dlls con versiones específicas de Visual Studio en ellas.
Esto funcionó para mí (aplicación x86).
Enviando todos los archivos DLL desde estos lugares con su aplicación:
- C: / Archivos de programa (x86) / Windows Kits / 10 / Redist / ucrt / DLLs / x86
- C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / VC / redist / x86 / Microsoft.VC140.CRT
Yo mismo, necesitaba un archivo adicional para que esto sucediera. Aquí están los directorios en un formato más genérico:
- Copie todos los archivos de "C: / Archivos de programa / Kits de Windows / 10 / Redist / ucrt / DLLs / x86" o "C: / Archivos de programa (x86) / Windows Kits / 10 / Redist / ucrt / DLLs / x86" ( o cópielos desde el directorio x64 si es una aplicación de 64 bits). Si está utilizando Qt, cópielos en el directorio creado por windeployqt.
- Copie msvcp140.dll y vcruntime140.dll desde: <Directorio de instalación de Visual Studio 2015> / Microsoft Visual Studio 14.0 / VC / redist / x86 / Microsoft.VC140.CRT (o cópielos desde el directorio x64 si es una aplicación de 64 bits) .
En general, descubrí que puedes hacer el paso # 1 e intentar ejecutar tu aplicación. Le dirá el primero de los archivos que faltan, y una vez que lo haya puesto en el directorio de su aplicación, le indicará el siguiente que necesita. En mi caso, fueron dos. Copiar archivos similares de mi carpeta <Windows> / System32, por ejemplo, no tuvo éxito. Descubrí que usar Dependency Walker y tratar de satisfacer las dependencias que indica no tienen éxito.
Esto le permite crear una aplicación portátil que se ejecutará en M $ OS tan antiguo como XP; o instale para usuarios sin vcredist_x86 o vcredist_x64, que no tienen privilegios de administrador.
BTW: Paso # 1 es bastante oficial. Aquí está en el blog de MSDN: link Dicen que se deben copiar todos para que una aplicación se ejecute en todos los M $ OS.