Я пытаюсь получить текущую работающую версию Outlook или запустить Outlook в случае, если он не работает , но у меня возникают некоторые проблемы при получении или создании объекта приложения Outlook в Windows 7.Я думаю, что это как-то связано с ограничениями прав доступа пользователей в Vista и 7. Я работаю с Outlook 2010.
edit: Эти ошибки появляются, только если у меня уже есть Outlook2010 год начался.Если 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.
Спасибо!