Вместо последней строки вашего кода
else:running=False
Напишите
else:
running = False
Также в первой строке кода замените его на
running = True
Надеюсь работает:)
Кажется, довольно универсальная ошибка, касающаяся запуска сервера COM. Возможные проблемы включают тайм-ауты, отказы входа в систему (проверьте Q о CO_E_SERVER_EXEC_FAILURE
), или права доступа или (очевидно) ошибка VS2008 ATL. Удар ошибки в CreateInstance добился бы цели также, я думаю.
Я запустил бы путем проверки журнала событий на что-либо интересное.
0x80080005 является "Неудавшимся Выполнением Сервера", согласно ERRLOOK.EXE. WinError.h перечисляет это как CO_E_SERVER_EXEC_FAILURE
. Не "доступ запрещен".
Одна вещь, на которую вы можете взглянуть, - это конфигурация безопасности DCOM. Управляется утилитой dcomcnfg. В Интернете есть полезных обучающих видео , в которых объясняется, как его использовать. Также существует ветка на форуме ASP.NET , в которой обсуждается, как использовать dcomcnfg.