我的一位同事写了一个.NET窗口服务,它将.doc转换为.docx文件。为了实现这一目标,他使用了Office 2007兼容包附带的wordconv.exe。
大多数情况下一切正常,但在某些情况下我们无法再现,wordconv.exe不会转换,但会返回exitcode -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;
答案 0 :(得分:2)
好的,我们刚发现了这个问题。我们的客户使用文档扩展名保存了doc x 文件。之后他们尝试将此 x 转换为doc x 。使用办公室兼容包的GUI一切正常。甚至Word也没有发出警告信息就打开了“伪造”的doc文件。
答案 1 :(得分:1)
您可以将问题与特定输入文档联系起来吗?
如果你不能确定总是只有一个wordconv.exe实例在运行?
可能并不支持并行的几个进程(我只是疯狂地猜测;我们有一个服务基本上做同样的调用,但我们还没有遇到这样的问题)。
答案 2 :(得分:0)
我想知道wordconv是否与其他办公室遭遇同样的命运 - 即not supported in a service application。因此,可能会发生奇怪的事情......