Application has stopped working after a change in the interface of legacy VB 6.0 ActiveX DLL (DCOM)

Harsha Shankarappa 0 Reputation points
2023-02-04T08:55:05.4366667+00:00

Hi,

I have changed an interface in the existing legacy VB 6.0 ActiveX DLL, but after the change unable to create the object from another server (DCOM). Below are the steps followed to deploy the component

1.      After the change, rebuilt the VB 6.0 DLL with version compatibility option set as "No Compatibility"

2.      Then registered the newly generated TLB (also replaced the physical file from where the other components are importing the TLB file)

3.      Compiled all the dependent components (services built on VC++)

4.      Deployed the new DLL in the server and register it (using regsvr32 command).

5.      Registered the components again using component service tool

6.      Replaced the service (.EXE) in the other server machine

When I launch the application , CoCreateInstanceEx which is trying to create the interface from another server is getting failed with return value 0x80040155.

Please help me out the to resolve the issue .

Developer technologies | VB
{count} votes

1 answer

Sort by: Most helpful
  1. Harsha Shankarappa 0 Reputation points
    2023-02-06T04:32:47.96+00:00

    since interface has been changed VB 6.0 IDE will generate new IID, it won't allow to use the same IID. I have compiled the dependent client application using the newly generate TLB.

    Is there any thing to done on client side.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.