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.
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 ---
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
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 theName
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 ---