Библиотеки sxs dll не найдены сразу после входа в систему?

Библиотеки sxs dll не найдены сразу после входа в систему?

Я столкнулся со странной проблемой. Приложение (exe-значок в панели инструментов), которое зависит от среды выполнения x86 Visual C++ 2008, раньше запускалось нормально. Это на x64 Windows 7. При нескольких недавних перезагрузках сообщалось о сбое запуска входа в систему с всплывающим окном о том, что mfc90u.dll не найден. Через несколько минут, если я запускаю приложение с помощью значка запуска, оно запускается правильно, и я вижу, что библиотеки времени выполнения загружаются из папки winsxs.

Из-за чего библиотеки winsxs могут быть недоступны сразу после входа в систему?

решение1

Файлы .dll Winsxs не должны активно использоваться. Это резервные копии версий. Если для чего-то нужна предыдущая версия .dll, она берется оттуда. Если .dll на самом деле отсутствует, местоположение winsxs действует как резервное местоположение, поэтому для его правильной работы необходимо загрузить несколько зависимостей ядра.

Чтобы устранить проблему, просто скопируйте mfc90u.dll из winsxs в %windir%\system32\ или в папку, где находится .exe-файл программы.

Переустановка последних версий Microsoft Visual C++ Redistributable также должна решить проблему, поскольку .dll является частью этих дистрибутивов.

Связанный контент