Один из моих коллег написал службу 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;