登录后找不到sxs dll吗?


0

我遇到一个奇怪的问题。依赖于用于正常启动的x86 Visual C ++ 2008运行时的应用程序(工具托盘图标exe)。这是在x64 Windows 7上,在最近几次重新启动时,它表示登录启动失败,并弹出一个窗口,提示未找到mfc90u.dll。几分钟后,如果我从启动图标启动该应用程序,它将正常启动,我可以看到正在从winsxs文件夹加载运行时dll。

什么会使登录后立即无法使用winsxs dll?

Answers:


0

请勿积极使用Winsxs .dll。它们是版本备份。如果某些东西需要.dll的先前版本,则从那里获取。如果实际上缺少.dll,则winsxs位置将充当备份位置,因此需要加载几个内核依赖项才能使其正常运行。

要解决此问题,只需将mfc90u.dll从winsxs复制到%windir%\ system32 \或程序.exe所在的位置。

重新安装最新版本的Microsoft Visual C ++ Redistributable也应解决此问题,因为.dll是这些发行版的一部分。


因此,如果仅备份winsxs,则应将“已安装”的版本放在其他适当位置?C:/窗/ {System32下,SysWOW64中}?重新安装vs2008运行时(修复模式)不会使mfc9 * .dll出现在其中,而我可以看到其他运行时版本的其他MFC * .dll
bartoli

安装32位版本应将.dll放入C:\ Windows \ System32,如果安装64位版本,则应位于C:\ Windows \ SysWOW64。如果未将其复制到此处,则表示操作系统认为它们太旧,只会将它们保留在名为WinSxS / AMD64_microsoft.vc90和WinSxS / x86_microsoft.vc90的位置。请注意,我总是喜欢将文件放在需要它们的.exe所在的位置。经典方式是最好的方式。
主宰
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.