Unable to use a dll with same name as previous dll in application.

F

flyfisher

I am hoping that someone can help me with this one or point me towards
where I need to look on the internet. A company has supplied me with 2
versions of their API - they both have the same name (e.g.
Br_Pacc.dll), one being the API for their DOS based system and the
other for their Windows based system (methinks why could they not use
the same dll, or call them something different!).

I have used the dlls on my system fine with no problems, although need
to register one or the other dll depending on whether I wish to access
the windows based system or the dos based system. On the test
applications things work fine!!

My problem - I have an existing application and have successfully used
this with the Windows dll API. However if I then register the dos
based dll, it looks as though my application tries to use the Windows
based dll - it certainly throws up unexpected errors. I obviously
delete the dll from my project when changing and also delete the dll
and the Interop from my Bin directory. What is happening here and does
an application store details of a dll anywhere else?? I am tearing my
hair out on this one!! The test applications continue to work

Would be very grateful for any help on this one, if it is only to tell
me how to phrase a Google search!!

Many, many thanks!!!

Paul Bromley
 
G

Gregory A. Beamer

I am hoping that someone can help me with this one or point me towards
where I need to look on the internet. A company has supplied me with 2
versions of their API - they both have the same name (e.g.
Br_Pacc.dll), one being the API for their DOS based system and the
other for their Windows based system (methinks why could they not use
the same dll, or call them something different!).

I have used the dlls on my system fine with no problems, although need
to register one or the other dll depending on whether I wish to access
the windows based system or the dos based system. On the test
applications things work fine!!

My problem - I have an existing application and have successfully used
this with the Windows dll API. However if I then register the dos
based dll, it looks as though my application tries to use the Windows
based dll - it certainly throws up unexpected errors. I obviously
delete the dll from my project when changing and also delete the dll
and the Interop from my Bin directory. What is happening here and does
an application store details of a dll anywhere else?? I am tearing my
hair out on this one!! The test applications continue to work

Would be very grateful for any help on this one, if it is only to tell
me how to phrase a Google search!!

Many, many thanks!!!

Paul Bromley

Is the application calling this a DOS/COM app or a .NET app? If DOS app,
you are pretty much screwed here, as it will consult the registry first.
I am sure there is a way around this, but it can get dicey.

If .NET app, have you tried removing the COM callable wrapper and
locally deploying the assembly in the same folder as the application?

--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

*******************************************
| Think outside the box! |
*******************************************
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top