Почему wordconv.exe случайным образом возвращает -14 при вызове из службы Windows .NET - PullRequest
2 голосов
/ 22 июня 2009

Один из моих коллег написал службу Windows .NET, которая преобразует файлы .doc в файлы .docx. Для достижения этой цели он использует wordconv.exe, который поставляется с пакетом совместимости с Office 2007.

В большинстве случаев все работает нормально, но при определенных обстоятельствах, которые мы еще не смогли воспроизвести, wordconv.exe не конвертирует, а возвращает код выхода -14.

К сожалению, эта ошибка возникает только в производственной среде наших клиентов. Мы не смогли воспроизвести ошибку в системе разработки или интеграции.

Мы используем следующий код:

Process converter = new Process();
converter.StartInfo.FileName = <Path to wordconv.exe>;
converter.StartInfo.Arguments = string.Format("-oice -nme \"{0}\" \"{1}\"", fileIn, fileOut);
converter.StartInfo.CreateNoWindow = true;
converter.StartInfo.WindowStyle = ProcessWindowStyle.hidden
converter.StartInfo.UseShellExecute = false;
converter.StartInfo.RedirectStandardError = true;
converter.StartInfo.RedirectStandardOutput = true;
converter.Start();
converter.WaitForExit(intervall);
int exitCode = converter.ExitCode;

Ответы [ 3 ]

2 голосов
/ 06 июля 2009

Хорошо, мы только что нашли проблему. Наш клиент сохранил файлы doc x с расширением doc. Позже они попытались преобразовать этот документ x в документ x . Используя графический интерфейс офисного пакета совместимости, все работало нормально. Даже Word открыл «поддельный» файл документа без предупреждения.

1 голос
/ 02 июля 2009

Можете ли вы связать проблему с конкретными входными документами?

Если вы не можете убедиться, что всегда работает только один экземпляр wordconv.exe?

Возможно, что несколько параллельных процессов могут не поддерживаться (я просто дико догадываюсь; у нас есть служба, выполняющая в основном один и тот же вызов, но мы еще не сталкивались с такой проблемой).

0 голосов
/ 22 июня 2009

Интересно, переносит ли Wordconv ту же участь, что и остальная часть Office, т. Е. не поддерживается в приложении службы . Таким образом, могут происходить причудливые вещи ...

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