ADN Club => AutoCAD .NET API => Тема начата: simson43 от 18-09-2019, 18:00:21
Название: Не удалось получить фабрику класса COM для компонента с CLSID
Отправлено: simson43 от 18-09-2019, 18:00:21
ОШИБКА: Не удалось получить фабрику класса COM для компонента с CLSID {0B628DE4-07AD-4284-81CA-5B439F67C5E6} из-за следующей ошибки: 80080005 Ошибка при выполнении приложения-сервера (Исключение из HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)) Не знаю уже куда податься, Код запускается на IIS, Windows 10, autocad 16 Обращение к автокаду через COM
Название: Re: Не удалось получить фабрику класса COM для компонента с CLSID
Отправлено: simson43 от 19-09-2019, 10:47:12
хочу работать с автокадом на IIS вроде настроил удостоверение пула приложения от имени админа, но все равно не работает(
Название: Re: Не удалось получить фабрику класса COM для компонента с CLSID
Отправлено: Александр Ривилис от 19-09-2019, 10:55:31
Можно попробовать настроить запуск от конкретного пользователя, для которого AutoCAD нормально запускается. Но лучше использовать вместо полного AutoCAD AcCoreConsole: http://adndevblog.typepad.com/autocad/2012/04/getting-started-with-accoreconsole.html (но с COM/ActiveX работать не будет)
Название: Re: Не удалось получить фабрику класса COM для компонента с CLSID
Отправлено: Привалов Дмитрий от 19-09-2019, 21:54:16
хочу работать с автокадом на IIS вроде настроил удостоверение пула приложения от имени админа, но все равно не работает(
Судя по задумке не сработает. Нужно в сеансе пользователя запустить AutoCAD хотя бы раз, чтобы создался профиль в реестре. Затем возможно закрыть, чтобы сохранились настройки. Затем в этом сеансе, если открыт AutoCAD можно выполнить app = Marshal.GetActiveObject(type); и работать с ним.
Скорее всего для успеха на компьютере должен быть запущен один экземпляр AutoCAD, с которым нужно работать из активного пользователя.
Во всех других случаях скорее всего различные проблемы. Либо AutoCAD не захочет запускаться и создавать профиль, либо будут сложности с получением экземпляра AutoCAD через GetActiveObject. хук с ROT https://adn-cis.org/dostup-k-com-prilozheniyam-iz-tabliczyi-ispolnyayushhixsya-obektov-(rot).html у меня не получился из под одного пользователя. Он показывал правильное количество запущенных экземпляров, но возвращал только один. Если несколько сеансов пользователей с запущенными AutoCAD, то не вернет ли GetActiveObject экземпляр другого пользователя?
Название: Re: Не удалось получить фабрику класса COM для компонента с CLSID
Отправлено: simson43 от 19-09-2019, 22:01:49
и все права раздавал на приложение, всем пользователям и запустил сервер от имени пользователя и запустил автокад ручками, но GetActiveObject в этом случае ничего не возвращает, будто приложение закрыто, а создать новое не получается у него никак.. и что только не делал Excel к слову получилось завести созданием папки Desktop в недрах system32 - такие вот неочевидные решения автокад завести не удалось на сайте Microsoft прямым текстом пишут что оно для того не предназначено бросил эту затею