Для генерации документа Microsoft Word фирма Microsoft поставляет компонент Microsoft.Office.Interop.Word. Данный компонент является тонкой обвязкой между пакетом Microsoft Office с установленным Word и .NET кодом, использующим этот компонент. Сама Microsoft не рекомендует использовать этот компонент на серверных ОС и предлагает ряд альтернатив: Вопросы серверной автоматизации Office. Но предложенные альтернативы имеют ряд недостатков, основной из которых — слишком большой размер получаемых документов. В данной статье будет рассказано как установить и настроить пакет Microsoft Office на VPS под управлением Windows Server 2012 R2, чтобы он был доступен для компонента Microsoft.Office.Interop.Word.
Откроем окно Run (самый быстрый способ это комбинация клавиш Win+R) и наберем команду mmc comexp.msc.
Откроется окно Component Services. Выберем раздел Console Root -> Component Services -> Computers -> My Computer -> DCOM Config.
В списке компонентов необходимо найти компонент Документ Microsoft Office Word 97 — 2003. В зависимости от версии и языка Office этот компонент может называться по-другому. Но в любом случае в его названии будут присутствовать слова Office Word. Щелкаем правой кнопкой и выбираем пункт Properties.
Перейдем на вкладку Identity. Выберем This user и введем логин и пароль с подтверждением текущего пользователя.
Перейдем на вкладку Security. В разделах Launch and Activation Permissions и Access Permissions выберем пункт Customize. Нажмем Edit… и в обоих случаях добавим пользователя IIS_IUSRS.
Нажимаем OK. Теперь на нашем VPS сервере будет работать Microsoft.Office.Interop.Word компонент и мы сможем генерировать документы Office Word автоматически.