visual usar studio nacio escritorio donde documentacion diseño como cliente aplicación aplicaciones aplicacion c# windows-7 outlook outlook-2010

c# - usar - Obtener/crear una aplicación de Outlook en Windows 7



documentacion de wpf (5)

Parece que la instalación de Office se ha dañado.

Intente reparar la instalación volviendo a ejecutar la configuración como administrador.

Estoy tratando de obtener la versión actual de Outlook o iniciar Outlook en caso de que no se esté ejecutando , pero tengo algunos problemas para obtener o crear el objeto de la aplicación Outlook en Windows 7. Creo que tiene algo que ver con el los privilegios del usuario que son restrictivos en Vista y 7. Estoy trabajando con Outlook 2010.

editar: estos errores solo aparecen si ya tengo una instancia de Outlook 2010 iniciada. Si Outlook no se inicia, la aplicación puede ejecutarse sin problemas (puede iniciar una instancia de Outlook por sí mismo).

Si alguien puede decirme cómo obtener correctamente la versión de la aplicación de Outlook, sería realmente útil.

El código que estoy ejecutando es un bloque try-catch largo que sigue activando excepciones:

try { // create an application instance of Outlook oApp = new Microsoft.Office.Interop.Outlook.Application(); } catch(System.Exception ex) { try { // get Outlook in another way oApp = Marshal.GetActiveObject("Outlook.Application") as Microsoft.Office.Interop.Outlook.Application; } catch (System.Exception ex2) { // try some other way to get the object oApp = Activator.CreateInstance(Type.GetTypeFromProgID("Outlook.Application")) as Microsoft.Office.Interop.Outlook.Application; } }

La aplicación me arroja las siguientes excepciones:

Cuando intento crear una nueva instancia de aplicación de Outlook:

La recuperación de la fábrica de clase COM para el componente con CLSID {0006F03A-0000-0000-C000-000000000046} falló debido al siguiente error: 80080005.

Cuando intento obtener la instancia de la aplicación de Outlook:

Operación no disponible (Excepción de HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

Cuando intento crear una instancia a través del Activador

La recuperación de la fábrica de clase COM para el componente con CLSID {0006F03A-0000-0000-C000-000000000046} falló debido al siguiente error: 80080005.

¡Gracias!


Aparentemente, estos errores se activaron porque estaba ejecutando Outlook y la aplicación en diferentes niveles de permisos de usuario (uno de ellos como administrador y el otro como usuario normal).


En mi caso, fue Visual Studio ejecutado como administrador causando el problema. Cuando lo ejecuté como usuario normal, finalmente me deshice de este error.


Es cierto que si está ejecutando una aplicación independiente de Visual Studio o depurando desde Visual Studio que utiliza productos de oficina, debe tener el mismo nivel de acceso para ambos (Visual Studio y Office Products) y esa es una de las razones por las que este problema ocurre pero estoy viendo en línea que tantas personas tienen este problema al inicializar el objeto de Outlook en un servicio. Espero que lo que resolvió el problema para mí ayude a otros también. Por favor sigue los pasos.

  1. Vaya al símbolo del sistema, escriba lo siguiente y presione enter. Esto abre Servicios de componentes:

    mmc comexp.msc / 32

  1. Expanda los nodos Servicios de componentes -> Mi PC -> Configuración de DCOM

  2. Ahora encuentre su aplicación deseada (en este caso, adjunto de mensajes de Outlook) y haga clic con el botón secundario en la aplicación (si sigue estos pasos, este problema relacionado con todas las aplicaciones de Office se puede resolver) y seleccione propiedades.

  3. Vaya a la pestaña Identidad y seleccione El usuario interactivo y presione OK. Esto debería resolver su problema.

El usuario interactivo no es más que el usuario que ha iniciado sesión. Cuando intenta acceder a productos de oficina a través del servicio, el nivel de acceso debe ser el mismo y esa es la razón por la que necesita especificar el usuario adecuado. Si desea ejecutar el servicio en un servidor sin iniciar sesión en él, debe asegurarse de que el servidor tenga una cuenta de usuario que se utilizará para ejecutar el servicio y ejecutar productos de oficina como se especifica en Propiedades como este usuario (por favor mira el cuadro de diálogo Propiedades). Si desea conocer los diferentes tipos de cuentas de usuario mencionadas en este cuadro de diálogo, consulte el siguiente enlace de Microsoft.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms692541%28v=vs.85%29.aspx


  1. En el menú de inicio, seleccione Ejecutar
  2. Escriba dcomcnfg y haga clic en Aceptar
  3. La ventana de Servicios de componentes está abierta.
  4. Expanda los servicios de componentes de nodos -> Mi PC -> Configuración DCOM.
  5. Haga clic con el botón derecho en la aplicación (Adjunto al mensaje de Outlook) y seleccione propiedades.
  6. Haga clic en la pestaña Identidad lo que sea necesario.
  7. Haga clic en "El usuario interactivo" y luego en Aceptar