【问题标题】:LoadLibrary() fails with error 1114: "A DLL initialization routine failed" for UsersLoadLibrary() 失败并出现错误 1114:用户的“DLL 初始化例程失败”
【发布时间】:2012-06-05 00:00:46
【问题描述】:

我的情况是 LoadLibrary() 失败并出现错误 1114,但仅当登录的用户是“用户”组的一部分时才会失败。适用于“管理员”和“高级用户”。如果我以“运行身份”管理员或高级用户身份启动应用程序,我也可以正常运行

我可以单步执行一些代码,但不能对其进行任何更改(至少不能对现场进行任何更改),因此很遗憾,解决方案必须在应用程序外部。

到目前为止,我尝试将所有 exe 和 dll 都授予用户组的目录(和包含文件)的完全访问权限,但没有成功。接下来我开始研究组策略,但在我修改一堆东西之前,我以为我是由这个社区运行的。

提前谢谢你

【问题讨论】:

  • 使用 Sysinternals(现在是 Microsoft 的一个部门)进程监视器或 RohitAB API 监视器,准确查看失败的调用以及参数是什么(您可以查看注册表路径、文件名等)

标签: visual-c++ loadlibrary


【解决方案1】:

DLL 初始化例程失败意味着库的 DllMain 返回了一些异常状态,因此它必须需要管理员才能运行。如果您指定要加载的库,我们可以提供更好的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    相关资源
    最近更新 更多