EBDN - Community - Question & Answers

  Thursday, 05 October 2023
  2 Replies
  441 Visits
0
Votes
Undo
I'm working with EB 2023 in a 2 tier installation.
Client is a terminal server without EB App server
Server hosts the SQL- and EB's App server.

In my c# dot.net 4.8 application I have to start Engineering Base and then have to do something using the Engineering Base Interop API.

I can start EB manually using the start icon without any problems

If I use this code

using Aucotec.EngineeringBase.Interop;
...
IAucApplication ebApp = new Application()
ebApp.DoSomething();


I get this error message
2023-10-05 09_22_39-Clipboard.png


Using this code

using Aucotec.EngineeringBase.Interop;
...
var process = new Process()
{
StartInfo = new ProcessStartInfo(config.PathToEbExe),
};
process.Start();
process.WaitForInputIdle(config.WaitForInputIdleTimeout)

IAucApplication ebApp = new Application()
ebApp.DoSomething();


I don't get any messages, but because the EB UI (eg. the Tree) is not fully initialized I have troubles that some API commands do not work.


Question

  • I guess, that the Interop uses different Windows credentials to start windows than process.Start() does.
  • But witch Windows Credentials are used when ebApp = new Application() starts Enginering Base? How can I figure that out?
  • How can I avoid running in the error shown in the screenshot when starting EB using ebApp = new Application()?