Почему COM-автоматизация Word из консольного приложения может выполняться на моей машине разработки как запланированная задача, но зависать на другой? - PullRequest
3 голосов
/ 21 марта 2012

У меня есть консольное приложение, которое использует автоматизацию COM для манипулирования файлами .DOC и .DOCX в Word 2010. Это работает в запланированном задании для учетной записи не вошедшего в систему пользователя на двух компьютерах разработки (под управлением 32-разрядной Windows Server 2003), но не на другой машине (под управлением 64-битной Windows Server 2003). Он запускается на этом компьютере, если запускается из командной строки той же учетной записью пользователя при входе в систему (поэтому я не думаю, что это проблема 32/64 бита).

Код зависает в тот момент, когда он пытался открыть документ, а не при создании приложения Word.

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

Я подумал, что это может быть как-то связано с автозаменой, и, глядя на параметры проверки правописания, заметил, что флажок «автоматически использовать исправления из проверки орфографии» неактивен.

Я использовал монитор процесса и не смог найти никаких сбоев доступа к файлам для файлов, которые находятся на компьютере разработчика, но не на другом (Word, похоже, ищет файл Normal.dot в ряде мест, но этот файл не находится на машина для разработки тоже).

Мне известно, что Microsoft не рекомендует и не поддерживает автоматизацию Word на сервере и может не соответствовать условиям лицензии.

Я использую автоматизацию, поскольку мне нужно манипулировать файлами для более старых версий Word.

Это может быть связано с моей другой проблемой автоматизации из учетных записей, не вошедших в систему: Почему COM-автоматизация из консольного приложения может работать на моей машине разработки, а не на другой? Однако этот случай отличается в что открытие файла зависает, а не происходит сбой создания прикладной программы.

Что еще мне следует попробовать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...