C # Windows Service COM exceção 80080005 ao iniciar o aplicativo

Eu criei um serviço do Windows que tenta iniciar um aplicativo (neste caso, CATIA).

Eu uso o seguinte código:

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;
        } 

Eu recebo o seguinte erro quando meu Serviço tenta iniciar o aplicativo:

System.Runtime.InteropServices.COMException (0x80080005): Recuperar a fábrica de classe COM para o componente com CLSID {87FD6F40-E252-11D5-8040-0010B5FA1031} falhou devido ao seguinte erro: 80080005. em System.RuntimeTypeHandle.CreateInstance (tipo RuntimeType, Boolean publicOnly, Boolean noCheck, Boolean e canBeCached, RuntimeMethodHandle & ctor, Boolean e bNeedSecurityCheck) em System.RuntimeType.CreateInstanceSlow (booleano publicOnly, Boolean fillCache) em System.RuntimeType.CreateInstanceImpl (Booleano publicOnly, Booleano skipVisibilityChecks, Booleano fillCache) em System.Activator.CreateInstance (Tipo tipo, Boolean nonPublic) em CATIA.CATIA.GetApplicationObject (String ProgId)

Importante: Quando executo esse código como um aplicativo do Windows em vez de um serviço do Windows, tudo funciona bem. Eu também tentei iniciar o CATIA primeiro e tê-lo rodando em segundo plano, mas meu Serviço não conseguiu pegá-lo.

Eu executo o serviço com o sistema local e marquei a caixa "Interagir com a área de trabalho".

Meu ProgId é CATIA.Application, e como eu disse, funciona quando eu o executo como um aplicativo em vez de um serviço.

Alguma ideia do que está causando isso?

questionAnswers(1)

yourAnswerToTheQuestion