Перейти к содержимому

Фотография
- - - - -

Работа с Word в ASP.net - документ не добавляется


  • Вы не можете создать новую тему
  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1 manix

manix

    Прохожий

    Топикстартер
  • Участник
  • 0
    6 сообщ.

Отправлено 24 Июль 2008 в 13:24

Добрый день!
помогите пожалуйста разобраться.
Есть ASP.net Web-проект. Он содержит код для теста работы Word:

using Word = Microsoft.Office.Interop.Word;
[............]
object missing = System.Reflection.Missing.Value;
Word.ApplicationClass uWordApp = new Word.ApplicationClass();
Word.Document uWordDoc = uWordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing);
uWordDoc.Activate();
uWordDoc.Close(ref missing, ref missing, ref missing);
uWordApp.Application.Quit(ref missing, ref missing, ref missing);

на трех компьютерах данный фрагмент кода не вызывает ошибок.
На четвертом же (его параметры и версия Office (2003 SP3) совпадают с остальными) вылетает ошибка: Object reference not set to an instance of an object.
выснил, что ошибка вылетает на строчке uWordDoc.Activate() что uWordDoc равен null.

Почему такое может происходить? В каких случаях Word-приложение не может добавить документ?
  • 0

Спонсор

#2 manix

manix

    Прохожий

    Топикстартер
  • Участник
  • 0
    6 сообщ.

Отправлено 30 Июль 2008 в 17:41

Неужели ни у кого такой проблемы не было???

Дал права для юзера NETWORK SERVICE (именно от лица этого пользователя на Windows 2003 Server работает ASP.net) на:
1. DCOM-компоненту "Document Microsoft Word" дал и на Запуск и Активацию, и на доступ.
2. Дал права на доступ к файлу winword.exe на всякий пожарный.
3. Дал права на доступ к каталогу "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"

Пробовал также перерегистрировать ASP.net с помощью aspnet_regiis.exe /u и aspnet_regiis.exe /i.

Давал доступ к метабазе IIS aspnet_regiis -ga NETWORK SERVICE

Не помогло. :unsure: Такая беда именно на Windows 2003 Server. На WIndows XP и Windows 2000 все работает как часы.
Что делать, коллеги?
  • 0

#3 manix

manix

    Прохожий

    Топикстартер
  • Участник
  • 0
    6 сообщ.

Отправлено 07 Август 2008 в 19:48

Проблема решилась вот как (нашел на одном из сайтов, пока рыл в поисках решения):

"In the composants services console (run : dcomcnfg, sorry for translation I'm french ...Изображение) deploy DCOM tree and find Microsoft Word Document. Right click on it and select identitie tab. Choose 'this user' and select the administrator account."

От себя добавлю, что не обязательно назначать права на запуск Администратору, можно просто любому Пользователю
Изображение
  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей