Web Connection
Dealing with COM Server Load Errors
Gravatar is a globally recognized avatar based on your email address. Dealing with COM Server Load Errors
  Paul Nesci
  All
  Jan 17, 2023 @ 08:29am

Hi Rick For some reason, again, I had a horrible time trying to Register a COM. I managed to get 1 service COM running for some time but wanted to duplicate the COM to access another Data Set.

So I copied the project, cut a new EXE name, and tried to Register it on the Same Win Ser 2019. Several hours later and wanting to give up I fluked it somehow. I tried everything under the DOCS for this message title. Maybe the there was a conflict having two COMs as when the 2nd finally worked the first COM returned the message below: After I finished crying, I ran the MYAPP.EXE /Regserver and the 1st legacy COM came back to life.

COMs are great and more reliable than running in "File mode". Just thought I would post in case this process can be made easier or there a routine to use to duplicate COM Servers projects.

Thanks Paul.

Gravatar is a globally recognized avatar based on your email address. re: Dealing with COM Server Load Errors
  Rick Strahl
  Paul Nesci
  Jan 17, 2023 @ 12:00pm

Sounds like you're using the same COM Class Ids for multiple servers.

When you say you copied, you either have to clear out the class id out of the PJX file or create a brand new project, otherwise it'll use the same class ID which will f@uck up the server registrations (multiple entries in the registry pointing to the same thing).

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Dealing with COM Server Load Errors
  Paul Nesci
  Rick Strahl
  Jan 17, 2023 @ 03:23pm

Right.....

When you say clear out the Clas ID's where do you do that. Some where here? ALso used Regenerate Componet Id's too:

Not sure if signle/Multiple instances is relevant. Thanks for assisting with the above. Regards Paul

Gravatar is a globally recognized avatar based on your email address. re: Dealing with COM Server Load Errors
  Rick Strahl
  Paul Nesci
  Jan 17, 2023 @ 04:08pm

You have to go into the PJX file and remove the Reserved2 fields for the project record.

  • Close the project
  • USE YourProject
  • Find the YourProject.PJX record in the Name field
  • Clear out the Reserved2 field
  • USE && close the project file
  • Make sure the ProgId for the project is different than the original (ie. MyApp.MyAppServer)

You also have to change the name of the server class to ensure the ProgId is different. You can't change the description which is just that - a description, that's not the ProgId. The progId is generated during build. So you have to maintain separate projects to ensure that you don't clobber the other version and only one gets compiled at the time.

Then rebuild your project - it should generate a new Reserved2 value with a new ClassId.

Note it's important that both the ProgId and ClassIds are different. If either of them are the same as another project you'll have potential corruption.

Then go back to your original project, and rebuild that to ensure that the 'right' classIds are put in the registry.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Dealing with COM Server Load Errors
  Paul Nesci
  Rick Strahl
  Jan 17, 2023 @ 05:24pm

Brilliant thanks Rick.

Great product. Solid performance.

© 1996-2024