Установка Microsoft Office 2007 на основной серверной машине - PullRequest
7 голосов
/ 23 сентября 2010

У меня есть служба Windows (в настоящее время работает под управлением Windows 2003 Server), которая должна взаимодействовать с несколькими документами из слов с помощью автоматизации. Эта служба должна перейти на новый сервер.

Можно ли устанавливать и вызывать текстовые документы на компьютере под управлением Windows 2008 R2 Server Core?

Ответы [ 4 ]

3 голосов
/ 27 сентября 2010

Я бы рекомендовал использовать Open XML SDK 2.0 для Microsoft Office . На XML в Office Developer Portal , "Как: обработка текстов с учетом Open XML SDK 2.0 " и http://openxmldeveloper.org/ вы найдете множество примеров использования Open XML SDK 2.0.

Open XML SDK 2.0 - это технология, специально предназначенная для использования на сервере. Вам вообще не нужно устанавливать Office на сервер, и вы будете читать, изменять и т. Д. Офисные документы на сервере. Вначале переход от автоматизации Word к Open XML SDK кажется трудным, но я рекомендую потратить немного времени на изучение этой техники. В скором времени вам повезет использовать его на сервере. Некоторые интересные примеры кода и утилиты вы также найдете на codeplex.com (просто найдите «Open XML»). Например, посмотрите на Демо 04 из http://openxmldemos.codeplex.com/.

3 голосов
/ 27 сентября 2010

Обычная автоматизация Word не поддерживается при запуске в качестве службы (включая такие вещи, как ASP.NET). Это настольное клиентское приложение с API для автоматизации этого приложения, не API для подсистемы Word.

Вы могли бы попробовать посмотреть Word Automation Services , но учтите, что это компонент SharePoint Server 2010.

Я бы настоятельно рекомендовал поискать альтернативы, такие как различные инструменты (некоторые бесплатные, некоторые нет) для написания документов Word или другие форматы файлов.

Кажется спорным, но я также сомневаюсь, что Word будет работать на ядре сервера. Он сильно урезан для использования на сервере с ограниченным пространством и пропустит многие вещи, которые настольное клиентское приложение *1022* захочет использовать.

2 голосов
/ 29 сентября 2010

Да, просто используйте установку без вывода сообщений, чтобы получить Office 2007 на своем сервере Server Core - обратитесь к TechNet's Office Resource Kit для вариантов развертывания.Пара замечаний:

  1. Единственными документально подтвержденными компонентами Office, которые не поддерживаются непосредственно для установок Server Core, являются Project Server и SharePoint Server.Они даже не будут устанавливаться.
  2. Вы не можете вызвать любую команду Word, для которой клиентскому приложению требуется .Visible = True.Это приведет к сбою.
  3. Использование PowerShell для автоматизации Word, вероятно, самый простой способ работы с Server Core и Office.С некоторыми функциями COM вам может потребоваться создать оболочку .NET вместо непосредственного вызова из PS (чаще всего это вызовы WordBasic).
  4. Ранее уже говорилось о том, что вы не используете Office Automation на сервере, но этоне тот совет, который вам нужен.Итак, обязательно прочитайте это: Соображения по поводу автоматизации Office на стороне сервера
0 голосов
/ 27 сентября 2010

Обратите внимание на предупреждение Marcs о том, что оно не поддерживается (и альтернативы, предоставленные Олегом).

Поскольку офисная автоматизация (по крайней мере, так, как она звучит так, как вы ее используете) в основном вызывает программу (вы видите это в задаче mgr), но с видимостью, установленной в false, она НЕ будет работать на Server Core.Вы должны были бы иметь возможность установить и запустить офис (который вы не можете на ядре).

http://technet.microsoft.com/en-us/library/dd184076.aspx "Вы также не можете использовать его для запуска приложений Microsoft Office System или Microsoft OfficeSharePoint Server. И вы не можете (или, по крайней мере, не должны) использовать его для запуска собственных приложений, разработанных вами самим ".

...