Re[6]: Ошибка вызова COM объекта из dll в Windows Service
От: DPintelin  
Дата: 08.04.10 14:23
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>1. У тебя UAC включен (выключить)?

bnk>2. У тебя сервис на .NET (попробовать сделать простейший нативный сервис, который бы создавал твой объект)?
bnk>3. Попробовать запустить на чистой системе (виртуальной машине)?

Спасибо тебе за советы.

Я частично смоделировал проблему на чистом стенде, и что оказалось.

Приложение с открытым шаблоном не отвечало из-за наличия сертификата, который необходимо было разрешить в системе. Понял я это при работе на стенде с консоли! mstsc /console или /admin, так как именно на консоль выводилось окно приложения.

Что я сделал на проблемной машине:

0. Логин на машину с проблемами, в терминальной сессии и на консоль.
1. Старт своего сервиса использующего библиотеку под LOCAL SYSTEM + Desktop в терминальной сессии.
2. В терминальной сессии просто зависший процесс, на консоли запустилось приложение без открытого шаблона.
3. На консоли руками открыл шаблон, разрешил сертификат, закрыл приложение.
4. Повторный старт сервиса + выполнил все как и задумывалось.

Это описанная ситуация при запуске из под LOCAL SYSTEM + Desktop.

Так как в реалии для открытия шаблона требуется аутентификация пользователя на сервере приложений.

Запуск сервиса из под LOCAL SYSTEM + Desktop приводит к появлению окна аутентификации для ввода пользователя и пароля, значит предполагается участие пользователя.
При запуске из под доменной учетной записи которой разрешен доступ к шаблону, получаю ошибку вызова COM объекта из dll (80080005)

Такие пироги.

Как бы реализовать все красиво?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.