У меня есть консольное приложение, которое использует автоматизацию COM для манипулирования файлами .DOC и .DOCX в Word 2010. Это работает в запланированном задании для учетной записи не вошедшего в систему пользователя на двух компьютерах разработки (под управлением 32-разрядной Windows Server 2003), но не на другой машине (под управлением 64-битной Windows Server 2003). Он запускается на этом компьютере, если запускается из командной строки той же учетной записью пользователя при входе в систему (поэтому я не думаю, что это проблема 32/64 бита).
Код зависает в тот момент, когда он пытался открыть документ, а не при создании приложения Word.
Я вошел в систему под учетной записью пользователя и открыл файл вручную (поэтому я не думаю, что он отображает какие-либо диалоговые окна).
Я подумал, что это может быть как-то связано с автозаменой, и, глядя на параметры проверки правописания, заметил, что флажок «автоматически использовать исправления из проверки орфографии» неактивен.
Я использовал монитор процесса и не смог найти никаких сбоев доступа к файлам для файлов, которые находятся на компьютере разработчика, но не на другом (Word, похоже, ищет файл Normal.dot в ряде мест, но этот файл не находится на машина для разработки тоже).
Мне известно, что Microsoft не рекомендует и не поддерживает автоматизацию Word на сервере и может не соответствовать условиям лицензии.
Я использую автоматизацию, поскольку мне нужно манипулировать файлами для более старых версий Word.
Это может быть связано с моей другой проблемой автоматизации из учетных записей, не вошедших в систему: Почему COM-автоматизация из консольного приложения может работать на моей машине разработки, а не на другой? Однако этот случай отличается в что открытие файла зависает, а не происходит сбой создания прикладной программы.
Что еще мне следует попробовать?