点本地文件来处理DLL地狱问题?

点本地文件来处理DLL地狱问题?,dll,Dll,我已经了解到,在应用程序目录中放置一个名为.exe.local的空文件将导致应用程序首先在该目录中查找dll和OCXs,以避免系统上其他地方出现冲突的dll和OCXs问题 但是应用程序不是首先查看应用程序目录吗?.local文件实际上有什么影响 应用程序可以依赖于特定的 共享DLL的版本,并开始 如果另一个应用程序正在运行,则失败 安装了较新或较旧的 相同DLL的版本。有两个 确保您的应用程序 使用正确的DLL:DLL重定向 和并排的组件。 开发人员和管理员应该 对现有文件使用DLL重定向 应用

我已经了解到,在应用程序目录中放置一个名为
.exe.local
的空文件将导致应用程序首先在该目录中查找
dll
OCXs
,以避免系统上其他地方出现冲突的
dll
OCXs
问题

但是应用程序不是首先查看应用程序目录吗?
.local
文件实际上有什么影响

应用程序可以依赖于特定的 共享DLL的版本,并开始 如果另一个应用程序正在运行,则失败 安装了较新或较旧的 相同DLL的版本。有两个 确保您的应用程序 使用正确的DLL:DLL重定向 和并排的组件。 开发人员和管理员应该 对现有文件使用DLL重定向 应用程序,因为它没有 要求对文件进行任何更改 应用如果您正在创建一个新的 应用程序或更新应用程序 并希望隔离您的应用程序 从潜在的问题中,创建一个 并排的组件


参考文献:

坦率地说,我以前从未听说过
.local
方案,但一个快速的搜索结果很好地解释了这一点:

对于应用程序foo.exe,如果存在文件foo.exe.local,Windows将首先查看foo.exe的应用程序目录,然后再开始常规dll搜索。为了缓解COM问题,重定向既适用于完整路径dll加载,也适用于部分名称加载


看起来,
.local
文件甚至强制首先对应用程序目录进行绝对路径搜索,而通常绝对路径是不变的,只有相对路径紧跟其后。

您需要注册应用程序目录中的DLL/OCX吗?我想不需要。本地文件作为系统文件(可能已经注册)的替换文件,因此我认为您不必注册这些文件。