Разрешения автоматизации Word Server (некоторые ответы и некоторые вопросы) - PullRequest
0 голосов
/ 05 октября 2010

Я пытаюсь использовать автоматизацию слов для подсчета количества страниц в текстовом документе. До сих пор я сталкивался с этими ошибками:

  1. Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005.

  2. Слово застряло при открытии документа.

Мое разрешение на данный момент и шаги, которые я предпринял до сих пор:

  1. Изменить ключ реестра [HKEY_CLASSES_ROOT\AppID\WINWORD.EXE] с {A86A40B3-0008-4D41-975C-BB586C7121E3} на {00020906-0000-0000-C000-000000000046}.

  2. В конфигурации DCOM DCOMCNFG.EXE внесены следующие изменения:

    • В «Приложении Microsoft Word», отображаемом под его идентификатором приложения «{A86A40B3-0008-4D41-975C-BB586C7121E3}», пользователю iusr_<MACHINE_NAME> предоставлены локальные разрешения на обед (только) и задано удостоверение «Запускающий пользователь».

    • В «Документе Microsoft Office Word 97 - 2003», также известном некоторыми как «Документ Microsoft Word» (вероятно, зависит от версии Word), я дал полный доступ к iusr и iwam и доступ к ним, установив уровень аутентификации на «Нет», установите запускающего пользователя на моего собственного администратора.

Сочетание всех 3 модов в разделе "2-b", наконец, сделало все это тяжелым испытанием и теперь работает. Использование моего собственного пользователя для запуска стало ответом на залипание слова при открытии документа. Сброс аутентификации до значения по умолчанию приводит к ошибке «1». Установка запускающего пользователя обратно на «Запускающего пользователя» приводит к ошибке «2».

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

Я пишу это как ответ для тех, кто борется со мной несколько дней, чтобы заставить это работать и, надеюсь, получить ответы на некоторые вопросы о том, как я могу улучшить безопасность, то есть удалить запускающего пользователя и отменить проверку подлинности, а не быть вошел в систему 24/7 на производственном компьютере (при запуске сайта).

Спецификация машины разработки:
Windows XP Pro 32bit
IIS 5.1
Классический сайт ASP
COM + C # объект, выполняющий автоматизацию.

1 Ответ

0 голосов
/ 15 марта 2012

Решение, позволяющее избежать входа пользователя в систему 24 часа в сутки, - олицетворять учетную запись и программно загружать профиль пользователя (для этого учетная запись требуется локальному администратору) до вызова Word.

Другим решением является создание службы Windows, которая делает то же самое.

...