I do not know if this is the correct place for this post so if anyone opposes, please let me know.

I have built an installation package using Microsoft Visual Studio 2005 Setup project.

In my application I need to use a COM dll. This dll is copied with the installation and I have added a custom action script to run regsvr32 for this dll. All is fine so far.

The problem arises when I run my program.
The dll in question is OPCDAAuto.dll. When I get the servers for my node, one of the OPC servers has another version of the dll registered and calls this which causes my applikation to crash (because I need the newer version).

When I check the registry I have the CLSID\InprocServer32 key. In there I find the defaul data to point to my newly registered dll ... fine. BUT ... I also have a darwin coded InprocServer32 data which points to the older version of the dll.
If I just remove the InprocServer32 data it works fine.
I want to do it in a clean and correct manner though.

So ... to my question(s):
1. What is the InprocServer32 data (mind you ... not the key)?
2. How do I set up the registry correctly for my dll to be called?

Input and ideas are greatly appreciated ...