使用两个类似的Windows应用程序处理DLL搜索

时间:2014-03-12 15:11:58

标签: windows dll windows-7 windows-xp

我有两个非常相似的Windows应用程序。可执行文件A.exe和B.exe必须保持分开,每个文件夹都有一个dll(libApp.dll,我有一个用于A,一个用于B,彼此不同)。然而,这些可执行文件共享了大量其他.dll。

由于Windows搜索路径的性质,一种解决方案是提供两个目录,每个目录包含所有dll,正确的libApp.dll和正确的可执行文件。事实上,Windows首先搜索可执行文件的目录,然后搜索系统目录,然后搜索Path变量中的所有内容。

目前,两个分离目录的上述解决方案有效,但它在磁盘空间中非常耗费精力。我想在一个公共目录中整理常见的dll,并让A.exe和B.exe引用这些dll的这个公共目录。为此,我必须将这个常见目录放在Path中,但这有一个小问题:如果用户在标准Windows路径中安装了一个具有相同名称的库,那么该库将覆盖我的,会产生可怕的后果。

在linux和OSX上,有一些envvars来指定库搜索路径,但在Windows上它显然更复杂。有人知道这个问题通常是如何解决的吗?

0 个答案:

没有答案