Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Борис_С от 25-08-2021, 16:10:32

Название: Не создается com-объект AutoCAD в службе
Отправлено: Борис_С от 25-08-2021, 16:10:32
Добрый день!
Написал службу для Windows. Внутри службы должен создаваться com-объект AutoCAD.
Код такой:
Код - C# [Выбрать]
  1. // Создание нового экземпляра Application приложения AutoCAD
  2. Type comAppType = Type.GetTypeFromProgID("AutoCAD.Application");
  3. acApp = GetApp(() => Activator.CreateInstance(comAppType));
  4.  
Метод object GetApp(Func<object> func) описан в сообщении https://adn-cis.org/forum/index.php?topic=7364.0
В обычной Windows-программе все это работает. Для службы на операторе acApp = GetApp(() => Activator.CreateInstance(comAppType)); возникает исключение в методе GetApp на операторе object obj = func(); с таким сообщением:
Не удалось получить фабрику класса COM для компонента с CLSID {4AC6DFE1-607B-45B2-B289-D7FBCD44169C} из-за следующей ошибки: 80080005 Ошибка при выполнении приложения-сервера (Исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Где здесь сермяжная правда? Можно ли в принципе создать Com объект AutoCAD в службе?
Спасибо.
Название: Re: Не создается com-объект AutoCAD в службе
Отправлено: Борис_С от 25-08-2021, 17:34:39
Поменял вход в систему: было с системной учетной записью, стало с системной записью пользователя. Com объект приложения создается.
Открыл документ, но, когда cтал работать по элементам документа, получил число элементов 0. В чем я не прав?
Название: Re: Не создается com-объект AutoCAD в службе
Отправлено: Александр Ривилис от 25-08-2021, 18:49:15
В чем я не прав?
Не прав в том, что пытаешься работать с AutoCAD из службы. Это всё будет крайне ненадежно. Вообще работать с AutoCAD через COM чревато кучей проблем, в чем ты уже убедился. А работа из службы увеличивает количество проблем на порядок. Зачем это нужно?
Название: Re: Не создается com-объект AutoCAD в службе
Отправлено: Александр Ривилис от 25-08-2021, 18:59:14
https://stackoverflow.com/questions/21768170/how-to-start-autocad-from-net-using-windows-service
https://forums.autodesk.com/t5/net/start-autocad-with-interop-but-with-different-user/m-p/4815925
Короче говоря рекомендую не тратить время и бросить эту затею.
Название: Re: Не создается com-объект AutoCAD в службе
Отправлено: Борис_С от 27-08-2021, 10:38:53
Мы попробовали запустить AutoCAD из консольной программы, запущенной из-под службы. Результат тот же. Так что, к сожалению, запуск AutoCAD из-под службы пока реализовать не удалось. Подождем. Может когда-нибудь это станет возможным.