如何在当前目录中强制使用dll文件
How to impose dll files in the current directory?
此应用程序使用msado15.dll、msvcr100.dll和许多dll。
我发现应用程序没有使用ProcessExplorer和DependencyWalker在当前目录中加载msado15.dll和msvcr100.dll文件。
相反,此应用程序从winsxs文件夹或不同的Windows系统目录加载dll。
我想阻止它在"非当前目录"中加载dll即使没有我复制的dll也能正常工作。
我该怎么解决这个问题?如有任何帮助,我们将不胜感激。
提前感谢!
我做了一些研究,这其实很容易。根据本文,您所要做的就是创建一个名为(YourAppName).local
的空文件。这将告诉windows在exe文件夹中查找,而不是使用共享组件。
将这些dll(msado15.dll、msvcr100.dll)的副本放在包含exe的目录中。加载器将首先尝试从包含exe的目录中加载DLL。
以下是windows加载程序搜索DLL的顺序:[参考:Windows通过C-C++由Jeffrey Richter]
- 包含可执行文件的目录
- GetWindowsDirectory返回的Windows系统目录
- 16位系统目录,即Windows目录下的system子文件夹
- GetSystemDirectory返回的Windows目录
- 进程的当前目录
- PATH环境变量中列出的目录
相关文章:
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 将 dll 文件注入 UWP
- 从 .lib 文件创建一个.dll文件
- 使用dll源代码C++调试dll文件
- 如何将我的程序转换为.dll文件并使用rundll32.exe在cmd中运行它?
- 提升 Python 找不到 dll 文件
- 为什么它无法在 c++ 中全局声明一个构建为 dll 文件的类?
- 尝试在 python 中正确加载和使用 dll 文件
- 如何在运行时从 c++ 中的 DLL 文件创建对象?
- 是否可以单步执行.dll文件中定义的成员函数?
- 是否有其他方法将.dll文件从一个项目复制到我的启动项目中的可执行文件旁边
- 设置所需DLL文件的自定义路径:电子应用
- LUA5.3 DLL文件中缺少名称
- 如何在 go 中调用带有 .lib 和.dll文件的预构建 API
- 将字符串从 C# 发送到 dll 文件C++
- DLL文件中函数的预期行为在C中编写并从CPP文件打电话
- 如何在VS项目中静态链接没有dll文件的cpprest?
- 加载C DLL文件时,如何修复异常_access_violation
- 编译时如何隐藏DLL文件中的字符串?
- 找不到 C# C++ DLL 文件