今天在win server服务器上部署64位应用程序,运行了下,提示缺少xxx.dll,然后用depends查看缺少哪些dll并在本机查找并将dll复制了上去,依旧不能运行,提示0xc000007b,然后再次使用depends查看,发现复制上去的dll竟然是32位的,但是我明明是在C:\Windows\SysWOW64下复制上去的啊,结果google了一下发现如下文章:
=============================================
Fix your ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll error
Are you looking for the file ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll ?
It seems this file might have been included in some early version of Win 8, but is no longer included in updated Win 8, or Win 8.1 and later.
Some users report this issue solved after installing / repairing “Visual C++ Redistributable Packages for Visual Studio” relevant to the error message that you get. If you are unsure, please contact dll-files.com support.
“Visual C++ Redistributable Packages for Visual Studio” are available at https://support.microsoft.com/en-us/kb/2977003 (If using a 64bit (x64) version of Windows, install both vcredist_x64.exe and vcredist_x86.exe versions).
PLEASE NOTE! Dependency walker reporting these files as missing, does not necessarily mean that replacing these files will help your issue.
Are you maybe having an error for “0xc000007b” ?
This most likely means you have placed a 32bit dll-file where a 64bit dll-file should be, or the reverse.
On a 64bit version of Windows, 64bit dll-files belong in \Windows\System32\ .
32bit dll-files belongs in \Windows\SysWOW64\ .
Counterintuitive, but this is how it is.
Have you recently placed a dll-file in one of these folders? Make sure it is the correct folder for that file.
Read more about 0xc000007b at dll-files.com Support page
=============================================
啊,windows 64位系统下的system32下存的才是64位dll,syswow64下是32位的dll…
这是多么脑残的设计…