Windowspath在带有清单的LoadLibrary中search

如果你没有path调用LoadLibrary (例如, LoadLibrary("whatever.dll")Windows通常会遵循其标准的searchalgorithm,它是用来findEXE的。

我的问题是这样的:假设一个应用程序清单指定了一个特定版本的系统DLL,比如comctl32.dll 6.0。 在这种情况下, LoadLibrary("comctl32.dll")会立即转到正确的并排文件夹,还是执行某种search?

Solutions Collecting From Web of "Windowspath在带有清单的LoadLibrary中search"

来自微软:

应用程序可以通过指定完整路径,使用DLL重定向或使用清单来控制加载DLL的位置。 如果没有使用这些方法,则系统将按照本主题中所述在加载时搜索DLL。

所以是的,如果清单存在,它将直接进入SxS文件夹。

如果在缺少库时遇到问题,可以使用“sxstrace”功能来探测加载程序。 http://www.codeproject.com/KB/DLL/QueryAssemblyIdentities.aspx提供了一些关于清单和WinSxs之间依赖关系的细节。