Hello,
I have troubles using the COM interface of Enterprise Architect. After days of investigation, I seem to have found the criterion that causes the troubles to appear.
The problem is that in some uses cases, when trying to create a Repository object over the COM interface, I get a COM Error 0x80080005.
I tried with Java as well as C#. However, I found out that it only occurs when I try to run the COM client as a Windows Service, i.e. when the COM interface of EA is contacted from within a Windows Service.
I found that the error message disappears when I change the properties of the "EA.App" COM Server using DCOMCNFG such that EA is started by the "Interactive User" instead of the "Launching User". The "Interactive User" is the one currently logged on to Windows. This is not a viable solution, because I would like to execute my application as a service without having someone to be logged on.
I also tried to run the service and/or EA.App using my account. (Service: By changing the "logon" settings of the windows service. EA.App: By using DCOMCNFG and updating the properties of EA.App.) None of that helped.
Here my theory:
Enterprise Architect needs a windows shell to run. A service has no shell. Thus, providing my credentials does not help because it is not a question of which user runs EA, but whether the process running EA is provided a shell. If I set the EA.App's user to "Interactive User", then the shell of the currently logged on user is provided to EA.
Now my question:
Is there any way to circumvent or solve this, or might this even be regarded as a bug/issue which should be solved by Sparx?
Thx in advanced,
darkroastjava