Confusion about COM dlls and Interop



I am trying to fix a memory leak which exists on my production
computer, but not on my development computer. I've been looking for
differences between the two computers, and I discovered that the
production computer has a different version of a critical COM
component called PISDK.dll. The development computer uses version The production computer uses version How can I
force the production computer to use the desired (older) version?

I cannot uninstall v1.3.4.333 from the production computer. It is used
by other applications.

I know about the "Specific Version" box in the references tab.
However, my project does not have a reference to PISDK.dll. It has a
reference to Interop.PISDK.dll. Requiring a specific version of
Interop.PISDK.dll does not force use of the desired version of
PISDK.dll. I've tried to change the reference from Interop.PISDK.dll
to PISDK.dll, but Visual Studio seems to revert to Interop.PISDK.dll

I don't understand COM dlls and Interop files. Can someone explain how
to manage them properly, and create a reference to a specific version
of a COM dll?


P.S. This is the latest evolution of the problem I reported earlier in


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