LoadLibrary错误126取决于用户权限

时间:2016-11-17 12:00:21

标签: c++ winapi loadlibrary

我有一个奇怪的问题,我在我所在地运行的应用程序在客户所在地不起作用。 在我的应用程序中,我尝试从同一文件夹中加载LoadLibrary()的另一个dll。 如果应用程序以普通用户身份运行,则返回126 error。如果使用管理员权限启动相同的应用程序,则正确加载dll。

很难诊断,因为我无法在我的机器上重现错误。 有什么想法吗?

修改

好吧,这是一个依赖:dll是一个Debug-Build,找不到MSVCP120D.dllMSVCR120D.dll。我可以通过Process Monitor-Log告诉它。

但是:我有一个普通用户日志和一个日志管理员,在这两种情况下都找不到依赖项。为什么LoadLibrary适用于Admin-rights ??

1 个答案:

答案 0 :(得分:3)

那是ERROR_MOD_NOT_FOUND,这是非常明显的。无法找到要加载的DLL或其依赖项之一。也许您未能安装必要的依赖项,例如MSVC运行时。或者它可能是别的东西。

您需要进行一些调试和调查。我将首先使用Dependency Walker分析DLL加载。