此应用程序使用msado15.dll,msvcr100.dll和许多dll。
我发现应用程序没有使用ProcessExplorer和DependencyWalker在当前目录中加载msado15.dll和msvcr100.dll文件。
相反,此应用程序从winsxs文件夹或不同的Windows系统目录加载dll。
我想阻止它在“非当前目录”中加载dll 即使它没有我复制的dll也能正常工作。
我该如何解决这个问题?任何帮助将不胜感激。
提前致谢!
答案 0 :(得分:4)
我做了一些研究,实际上很容易。根据{{3}},您所要做的就是创建一个名为(YourAppName).local
的空文件。这将告诉windows查看exe文件夹而不是使用共享组件。
答案 1 :(得分:0)
将这些DLL(msado15.dll,msvcr100.dll)的副本放在包含exe的目录中。 Loader将首先尝试从包含exe的目录中加载DLL。
以下是Windows加载程序搜索DLL的顺序: [参考:通过Jeffrey Richter的C-C ++编写的Windows]