View previous topic :: View next topic |
Author |
Message |
KennyT
Joined: 02 Aug 2005 Posts: 318
|
Posted: Mon May 20, 2013 9:12 am Post subject: renaming 3rd party DLLs |
|
|
If anyone has some ideas about this...
We have a 3rd party DLL which is subject to revision, hence it has version numbers in the name, e.g. "lexus01033.dll". Before releasing the DLL as part of our app, we want to make it "generic", e.g. "lexus.dll". So...
1 we rename the DLL to "lexus.dll"
2 we change our link scripts to load "lexus.dll"
all seems fine until runtime, when "lexus01033.dll" cannot be located.
There's a clue in the "map" file:
Code: |
18509b0c app_main__imp__NULL c:\duk6\app_main.dll
18509b44 declib__imp__NULL c:\duk6\declib.dll
1850b168 llib__imp__NULL c:\duk6\llib.dll
1850b178 tikhonov__imp__NULL c:\duk6\tikhonov.dll
1850b188 Lexus01033__imp__NULL c:\duk6\lexus.dll
1850b194 scallib__imp__NULL c:\duk6\scal\scallib.dll
|
So, it seems that there's a "self-reference" to the original name that gets used at runtime.
Are there any tools that can resolve this?
K |
|
Back to top |
|
 |
KennyT
Joined: 02 Aug 2005 Posts: 318
|
Posted: Mon May 20, 2013 1:22 pm Post subject: |
|
|
i may have found a "kludge"!
using a hex editor on the DLL, i replaced:
"lexus01033.dll" with "lexus.dll" followed by 5 "nulls" to keep the file length the same. relinked and hey presto, the "old" name is no longer searched for at runtime!
K |
|
Back to top |
|
 |
|