Я пишу программу, которая должна открыть Microsoft Outlook и создать почтовый элемент для пользователя, когда он нажимает кнопку. Однако, когда я это делаю, возникает следующая ошибка:Откройте Outlook с теми же учетными данными, что и запущенное приложение
Извлечение фабрики COM-класса для компонента с CLSID {0006F03A-0000-0000-C000-000000000046} не удалось из-за следующей ошибки: 80080005 Выполнение сервера не выполнено (исключение от HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). После изучения этой ошибки я узнал, что моя программа и MS Outlook должны запускаться как администратор или как обычный уровень привилегий.
Итак, вот мой вопрос ... Как открыть MS Outlook с помощью кода C#, используя тот же уровень привилегий, что и моя текущая работающая программа. Мне нужно получить текущий уровень привилегий, а затем открыть Outlook с этим уровнем привилегий. Мне до сих пор не повезло в моих исследованиях. Любая помощь приветствуется!
Вот мой код (в настоящее время) для открытия MS Outlook и как его использовать:
Application outlookApp = new Application();
MailItem mailItem = outlookApp.CreateItem(OlItemType.olMailItem);
mailItem.Subject = "Blah";
mailItem.HTMLBody= @"Various HTML stuff";
foreach (string documentPath in this.documentPaths)
{
mailItem.Attachments.Add(documentPath, 1, 1, documentPath);
}
mailItem.Display(true);
Я использую Microsoft.Office.Interop.Outlook. Если Outlook уже работает с администратором. Тогда я не получаю никаких ошибок.
Просьба предложить.
Спасибо за ваш комментарий - Dmitry На самом деле пользователь запускает мое приложение в качестве прав администратора, но Outlook работает как admin. поэтому перед этой проблемой. – vishal
Убедиться, что оба запускаются в одном контексте безопасности - это единственный способ ... –