我有一个奇怪的问题,我在我所在地运行的应用程序在客户所在地不起作用。
在我的应用程序中,我尝试从同一文件夹中加载LoadLibrary()
的另一个dll。
如果应用程序以普通用户身份运行,则返回126 error
。如果使用管理员权限启动相同的应用程序,则正确加载dll。
很难诊断,因为我无法在我的机器上重现错误。 有什么想法吗?
修改
好吧,这是一个依赖:dll是一个Debug-Build,找不到MSVCP120D.dll
和MSVCR120D.dll
。我可以通过Process Monitor-Log告诉它。
但是:我有一个普通用户日志和一个日志管理员,在这两种情况下都找不到依赖项。为什么LoadLibrary
适用于Admin-rights ??
答案 0 :(得分:3)
那是ERROR_MOD_NOT_FOUND
,这是非常明显的。无法找到要加载的DLL或其依赖项之一。也许您未能安装必要的依赖项,例如MSVC运行时。或者它可能是别的东西。
您需要进行一些调试和调查。我将首先使用Dependency Walker分析DLL加载。