C # Windows Service COM-Ausnahme 80080005 beim Starten der Anwendung

Ich habe einen Windows-Dienst erstellt, der versucht, eine Anwendung zu starten (in diesem Fall CATIA).

Ich benutze folgenden Code:

private Application GetApplicationObject(string ProgId)
        {
            Application AppObject = null;
            //Try to get allready open instance of the Application
            try
            {
                AppObject = (Application)Marshal.GetActiveObject(ProgId);
            }
            catch
            {
                //Create a new instance of the Application instead
                AppObject = (Application)Activator.CreateInstance(Type.GetTypeFromProgID(ProgId));                
            }
            return AppObject;
        } 

Ich erhalte die folgende Fehlermeldung, wenn mein Dienst versucht, die Anwendung zu starten:

System.Runtime.InteropServices.COMException (0x80080005): Das Abrufen der COM-Klassenfactory für die Komponente mit der CLSID {87FD6F40-E252-11D5-8040-0010B5FA1031} ist aufgrund des folgenden Fehlers fehlgeschlagen: 80080005. at System.RuntimeTypeHandle.CreateInstance (RuntimeType) Boolean publicOnly, Boolean noCheck, Boolean & canBeCached, RuntimeMethodHandle & ctor, Boolean & bNeedSecurityCheck) bei System.RuntimeType.CreateInstanceSlow (Boolean publicOnly, Boolean fillCache) bei System.RuntimeType.CreateInstanceBip (Typ type, Boolean nonPublic) in CATIA.CATIA.GetApplicationObject (String ProgId)

Wichtig: Wenn ich diesen Code als Windows-Anwendung anstelle eines Windows-Dienstes ausführe, funktioniert alles einwandfrei. Ich habe auch versucht, CATIA zuerst zu starten und es im Hintergrund laufen zu lassen, aber mein Service kann es nicht finden.

Ich führe den Dienst mit dem lokalen System aus und habe das Kontrollkästchen "Interagieren mit dem Desktop" aktiviert.

Meine ProgId ist CATIA.Application, und wie gesagt funktioniert es, wenn ich es als Anwendung anstelle eines Dienstes ausführe.

Irgendeine Idee, was das verursacht?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage