如何知道系统找不到 dll 的原因?

如何知道系统找不到 dll 的原因?

我使用过 Dependency Walker 程序,发现我的程序缺少以下 dll:wlanapi.dll(+ 其他几个 dll)。

但是这个 dll 位于此处:

c:\Windows\winsxs\amd64_microsoft-windows-wlansvc_31bf3856ad364e35_6.1.7601.17514_none_fa6a47c21b85ab79\wlanapi.dll

那么我如何知道为什么找不到 dll?我可以打印“所有可见的系统 dll”或类似内容吗?

答案1

DLL 位于 winsxs(Windows 或 .NET 应用程序可能可用的所有文件的存储库)中,但不在其他地方,这意味着底层功能当前未安装或更确切地说未在特定的 Windows 7 或 2008R2 计算机上启用。可以通过专用的“Windows 功能启用或禁用”控制面板启用它来解决此问题。

通过谷歌搜索Microsoft-Windows-Wlansvc我发现科技网以及有关此“组件”或功能的更多信息。

答案2

听起来好像 dll 可能未注册。进入命令提示符(开始 -> 运行 -> cmd),然后在命令提示符中键入以下内容,转到该文件所在的路径:

cd c:\Windows\winsxs\amd64_microsoft-windows-wlansvc_31bf3856ad364e35_6.1.7601.17514_none_fa6a47c21b85ab79\

一旦有类型

regsvr32.exe wlanapi.dll

您可以将 dll 文件复制到 c:\windows\system32 目录中,这样会更容易一些,而且您不必输入太多内容。

另一个解决方案可能是将程序缺少的 dll 文件复制到安装该程序的目录中,但这并不总是有效。

相关内容