Вопрос по – Автоматизация Office через службу Windows на сервере 2008

21

У нас есть служба Windows, которая работает на 2003 Server. Он открывает исходный документ Word, используя Word Interop, а затем делает что-то с ним. Это также относится и к файлам Excel и PowerPoint.

Недавно мы попытались перенести этот сервис на компьютер с Windows 2008 Server и столкнулись с реальными проблемами.

COMException в Microsoft.Office.Interop.Excel.Workbooks.Open COMException в Microsoft.Office.Interop.Word.Documents.Open

Я получаю вышеупомянутые исключения, когда служба Windows работает на 2008 Server. Глядя на диспетчер задач, приложение загружается нормально, но вскоре после этого снова закрывается.

Я читал о том, что Vista и Server 2008 больше не имеют Session0, и попытался соответствующим образом изменить свойства безопасности Office DCOM, включая изменение идентификатора пользователя, выполняющего их, на Integrated, но безрезультатно.

Кто-нибудь знает, возможно ли это вообще? Это фундаментальный аспект нашей системы, и поэтому мы должны быть в состоянии сделать это.

Спасибо

Вы, вероятно, уже знаете это, но запуск Word на сервере не поддерживается Microsoft, иmight нарушать условия лицензии. Martin

Ваш Ответ

4   ответа
61

dows Server 2008, даже если это нормально работает под Windows Server 2003. Проблема также возникает при вызове Open, поэтому она может быть той же самой проблемой.

Я пытался следовать советам, данным H Ogawa вэтот поток MSDNи, похоже, сработало. Это странно, но благодарит мистера Огаву за его обнаружение.

Краткое изложение «Ogawa Hack»: создайте папку рабочего стола для профиля системы, как:

 C:\Windows\System32\config\systemprofile\Desktop

and, если работает на 64-битной машине, создайтеanother один, как:

 C:\Windows\SysWOW64\config\systemprofile\Desktop

Кроме того, папка (и) должна иметь разрешение на запись для любого пользователя, который является "за рулем". Офис.

[Изменить: исправленный URL-адрес ссылки]

[Правка 2: пояснил, что в 64-битной Windows вам нужны обе папки, а не только WOW64]

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
5

вам также может потребоваться выполнить следующие шаги для правильной работы MS Word (наряду со всем изложенным в других ответах):

Ниже приведен снимок экрана, показывающий два диалоговых окна, которые вам понадобятся: enter image description here

Для Apache:

Службы -> Apache -> Щелкните правой кнопкой мыши (Свойства) -> вкладка Вход в систему

MS Word:

Запустите dcomcnfg.exe -> «Корень консоли» - «Службы компонентов» - «Компьютеры» -> «Мой компьютер» - «Настройка DCOM» - «Найти приложение Microsoft» -> Щелкните правой кнопкой мыши (Свойства) -> вкладка «Удостоверение»

** если вы не можете найти MS Word, убедитесь, что вы запускаете правильную конфигурацию DCOM (64-разрядная или 32-разрядная) в зависимости от установленной версии Office.

Здесь есть два варианта, вы можете настроить Apache на использованиеLocal System Account и установите флажок РАЗРЕШИТЬ взаимодействие с рабочим столом. Если вы делаете это, то вам нужно установитьIdentity для MS Word вInteractive User.

В противном случае вам нужно установить обоих пользователей (в идеале, пользователя, который вошел в систему), как показано на рисунке.

Error: User Rate Limit Exceeded
1

вам нужно будет запустить "MMC -32" (командная строка), чтобы запустить 32-разрядную MMC, а затем добавить службы компонентов (меню «Файл»> «Добавить / удалить оснастки»)

затем следуйте одной из этих инструкций:

http://theether.net/download/Microsoft/kb/288366.html

Error: User Rate Limit Exceeded
0

вы захотите установить удостоверение DCOM в качестве учетной записи администратора и протестировать его снова.

Я также недавно начал сталкиваться с этой проблемой на компьютере с XP, пытаясь открыть книги в Excel с помощью служб взаимодействия, но пока не нашел обходного пути. Я сам хотел бы, чтобы любые другие идеи, которые сообщество могло бы выложить там ...

Похожие вопросы