Получение / создание приложения Outlook в Windows 7

Я пытаюсь получить текущую запущенную версию Outlook или запустить Outlook на случай он не работает , но у меня возникают некоторые проблемы с получением или созданием объекта Outlook Application в Windows 7. Я думаю, это как-то связано с ограничительными правами пользователя в Vista и 7. Я работаю с Outlook 2010.

редактировать: Эти ошибки появляются только в том случае, если у меня уже запущен экземпляр Outlook 2010. Если Outlook не запущен, приложение может работать без сбоев (оно может запускать экземпляр Outlook самостоятельно).

Если кто-нибудь может сказать мне, как правильно получить версию приложения Outlook, это будет действительно полезно.

Код Я использую длинный блок try-catch, который продолжает запускать исключения:


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

Приложение выдает мне следующие исключения:

Когда я пытаюсь создать новый экземпляр приложения Outlook:

Получение фабрики классов COM для компонента с CLSID {0006F03A-0000-0000-C000-000000000046} произошел сбой из-за следующей ошибки: 80080005.

Когда я пытаюсь получить экземпляр приложения Outlook:

Операция недоступна (исключение из HRESULT: 0x800401E3 (MK_E_UNAVAILABLE))

Когда я пытаюсь создать экземпляр с помощью активатора

Получение фабрики класса COM для компонента с CLSID {0006F03A-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 80080005.

Спасибо!

16
задан Andrei 20 September 2010 в 14:44
поделиться