Служба Windows, созданная в net 4.0, не может открыть экземпляр outlook
I have created windows service in .Net 4.0. Service is written to open outlook client, read emails from Inbox folder, downloads attachments.The code written is correct, since I have run & tested it in windows application project. But when I install the web service using "installutil" and run it, the service throws following error on following line of code: private static Microsoft.Office.Interop.Outlook.Application app = null; private static Microsoft.Office.Interop.Outlook._NameSpace ns = null; private static Microsoft.Office.Interop.Outlook.Attachments attachments = null; Outlook.Application myApp = new Outlook.Application(); Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI"); ns = myApp.GetNamespace("MAPI"); Error: Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80010001 Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)) FYI, the service is fails to run on my local machine. I feel that service might require some permission, if so please let me know how to assign permissions to windows service. Please Help.
Что я уже пробовал:
частная статическая Корпорация Майкрософт.Офис.Взаимодействие.Прогноз.Приложение app = null;
частная статическая Корпорация Майкрософт.Офис.Взаимодействие.Прогноз._NameSpace Н = нуль;
частная статическая Корпорация Майкрософт.Офис.Взаимодействие.Прогноз.Вложения вложения = null;
Прогноз.Приложение myApp = новый Outlook.Приложение();
Прогноз.Пространство имен mapiNameSpace = myApp.GetNamespace("MAPI");
НС = приложение.GetNamespace
Garth J Lancaster
под каким профилем установлена служба ? возможно, вам придется взглянуть на олицетворение пользователя http://www.codeproject.com/Articles/10090/A-small-C-Class-for-impersonating-a-User чтобы принудительно запустить код от имени пользователя или создать обычного пользователя и дать указание службе работать от имени этого пользователя
Richard Deeming
Рекомендации по автоматизации работы офиса на стороне сервера[^]:
"В настоящее время корпорация Майкрософт не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любого автоматического, неинтерактивного клиентского приложения или компонента (включая ASP, ASP.NET, DCOM, и служба NT), поскольку Office может демонстрировать нестабильное поведение и/или взаимоблокировку при запуске Office в этой среде."
То, что вы пытаетесь сделать, не поддерживается.
Philippe Mori
Не используйте Office из службы. Офис не предназначен для этого, и это хорошо известно.