Мы работаем над тем, чтобы сертифицировать наше приложение для развертывания в Windows Server 2008 и иметь некоторые проблемы с настройкой.
Следующий код выдает ошибку взаимодействия:
On Error Resume Next
Set WordApp = Server.CreateObject("word.application")
If Err.number <>0 Then
SetErrorDesc ErrorDesc, "Unable to instantiate word. (" & err.Description & ")<br>"
SetErrorStatus ErrorStatus,True
End If
Информация об ошибке, возвращаемая в err.Description:
006~ASP 0178~Server.CreateObject Access Error~The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
Сайт настроен на использование определенной учетной записи пользователя для своего пула приложений. Сайт представляет собой смешанное приложение ASP.Net и asp-classic. Я проверил решение Ogawa относительно необходимости наличия системного профиля в папке Desktop и настройки AppPool для загрузки профиля пользователя. Объект Word 97-2003 Document DCOM настроен для запуска с тем же пользователем, что и пул приложений сайта. Запуск и активация, разрешения доступа и разрешения конфигурации - все, что пользователь добавил с полным набором разрешений.
Отредактировано, чтобы добавить:
При интерактивном запуске этот скрипт (работающий в cscript или wscript) успешно создает приложение Word.Application и извлекает имя пользователя:
var wordobj = new ActiveXObject("Word.Application");
WScript.echo(wordobj.UserName);
wordobj.quit();
Очевидно, что не является копией Ошибка создания объекта Word в классическом ASP на IIS7 , поскольку мы получаем ошибку в CreateObject for Word.Application, а не при открытии документа.
Сервер Windows 2008 x86.
Что я упустил при настройке этого?