Peter Kolos
Peter Kolos

Reputation: 46

Can I make it so that a third-party application can use several of my DLLs with the same name but different versions?

I developed a DLL library (let's call it comp.dll) used by a third-party application (let's call it app.exe) as an additional plugin.

No intervention in app.exe on my part is possible.

At this stage, there is a problem loading by process app.exe of several comp.dll different versions simultaneously.

The file and folder structure is as follows:

App folder

   |______  app.exe

   |______   comp ver 1.0 folder
                            |______ comp.dll

   |______ comp ver 2.0 folder
                            |______ comp.dll

It is necessary to make it possible for the app.exe to dynamically, during its lifetime, load comp.dll from 'comp ver 1.0 folder' and comp.dll from 'comp ver 2.0 folder' at the same time.

I'll try to describe some examples. "App.exe" works with some data file "test.dat". Functions for processing of data from "test.dat" are implemented in "comp.dll". In "tast.dat" also provided the path to "comp.dll" where it is stored on the disk storage device. "App.exe" read path to "comp.dll" from "test.dat", load this dll and call functions to process data from "test.dat". For one file all is ok. Now, let's consider two files: "test1.dat" and "test2.dat". If both files use the "comp.dll" of the same version, everything is fine, but if versions are different, conflicts arise, since the dll that was loaded first is used, and the second one is not loaded.

I know that such problems are solved with the help of manifests, but I can't influence the manifest app.exe in any way.

Can you please tell me if there is any way to solve this problem?

Upvotes: 0

Views: 75

Answers (0)

Related Questions