我已经构建了一个使用大量其他DLL的DLL。外部应用程序使用LoadLibrary加载我的主DLL。一个这样的例子是Excel(主DLL有扩展名.XLL),另一个是Python(主DLL有扩展名.PYD)。
我的计划是在主DLL中嵌入一个包含其他DLL位置的清单,以便我不必须执行以下一项或多项操作:
请注意,我已经在不同的点上完成了上述所有操作(实际上是1或2与3组合),但它似乎并不完全令人满意。
我有机会参与我的计划吗?关于这个主题的MSDN文档对于不可理解的点似乎是不透明的(即我试图遵循它而没有成功)。
有人将此标记为副本并提及完全不同的问题。我知道我的DLL的依赖关系 - 我希望能够做的是通知LoadLibrary我已经放置了所有相关DLL,而无需更改目录或使用SetDllDirectory。清单似乎是为这项任务而设计的,但文档非常糟糕,以至于我想知道是否值得付出更多努力是值得的。
答案 0 :(得分:0)
我不会以任何方式提供清单文件中其他DDL的路径
但也许解决这个问题的方法是使用Path环境变量
在调用LoadLibrary之前,将所有其他DLL的路径添加到路径环境变量中。