I tried to use the 64 bit Version of our self developed OPC server which works as 32 bit Version for years without any trouble, but the OPC client can't find the server. Both applications running on the same Win 64 PC.
I installed the newest OPC core components, deleted the DCOM configuration service entry of the 32 bit OPC server, and also cleaned the associated registry entries. Nothing helped.
I am grateful for any ideas.
The OPC Client is a commercial product and works with 64 Bit OPC Servers according to the manufacturer.
In addition, I have tried the Matrikon OPC Explorer, also without success.
Is there a certain sequence that has to be followed when changing an OPC server from the 32 bit variant to the 64 bit variant? So the same application with the same name?
Do you have access to this download:
It has sample code that registers servers used to test OpcEnum.
It appears it does not have x64 code.
The issue is this: the server registers its component categories in its bitness but only clients with the same bitness can see them. OpcEnum installs a component that allows OpcEnum to Enumerate the categories in a different bitness.
Your server is likely not registering its component categories properly.
I suggest you use regedit to compare the registry entries of servers that do work and your server.
This may allow you to find what is missing.
The following registry keys were not present. After adding this parts manually, the OPC Client was able to connect to our 64-bit OPC server.
@="My OPC DA Server"
@="My OPC DA Server"
I copied this registry keys from another PC, where our 64-bit OPC server runs fine and is found by the OPC client application. Basically, the 64-bit variant works, but there must be differences between the two installations. So I am looking for any hint why our OPC server once will be registered properly and once not.
For example, is there a defined procedure for switching an OPC Server from one target platform to another, thus from 32- to 64-bit?
Is it necessary to first unregister the 32-bit OPC server instance and then register the new 64-bit instance?
The missing WOW6432Node key registered your x64 server in the 32-bit registry.
The other entries register you server in the 64 but registry. It is not clear why it worked with 64 bit clients without them.
Maybe the issue is you registered your 64 bit server in the 32 bit registry and messed up the COM infrastructure.