¿No se encuentran los dlls sxs inmediatamente después de iniciar sesión?

¿No se encuentran los dlls sxs inmediatamente después de iniciar sesión?

Me encuentro con un problema extraño. Una aplicación (un exe de icono de bandeja de herramientas) que depende del tiempo de ejecución x86 de Visual C++ 2008 solía iniciarse bien. Esto es en un Windows 7 x64. En los pocos reinicios recientes, indicó que fallaba el inicio de sesión, con una ventana emergente que decía que no se encuentra mfc90u.dll. Unos minutos más tarde, si inicio la aplicación desde el ícono de inicio, se inicia correctamente. y puedo ver los archivos DLL en tiempo de ejecución que se cargan desde la carpeta winsxs.

¿Qué podría hacer que los archivos DLL de Winsxs no estén disponibles inmediatamente después de iniciar sesión?

Respuesta1

Los archivos Winsxs .dll no deben usarse activamente. Son copias de seguridad versionadas. Si algo necesita una versión anterior de un .dll, se toma desde allí. Si realmente falta el .dll, la ubicación de winsxs actúa como una ubicación de respaldo, por lo tanto, es necesario cargar varias dependencias del kernel para que funcione correctamente.

Para solucionar el problema, simplemente copie el mfc90u.dll de winsxs a %windir%\system32\ o la ubicación donde está el .exe del programa.

Reinstalar las últimas versiones de Microsoft Visual C++ Redistributable también debería solucionar el problema, ya que el .dll es parte de esas distribuciones.

información relacionada