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
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()?