在我的开发机器上,一切正常。但是,当我尝试在服务器上从代码启动它时,OpenOffice无法在端口2002上连接。如果我使用完全相同的命令从cmd启动它,则它的工作原理是...。
我做错了什么?
Cmd命令
c:/openoffice/program/soffice.exe -headless -nologo -nofirststartwizard -norestore -accept=socket,host=localhost,port=2002;urp;StarOffice.Service
从代码
var info = new ProcessStartInfo("c:/openoffice/program/soffice.exe")
{
UseShellExecute = false,
RedirectStandardInput = true,
RedirectStandardOutput = true,
RedirectStandardError = true,
Arguments = "-headless -nologo -nofirststartwizard -norestore -accept=socket,host=localhost,port=2002;urp;StarOffice.Service"
};
var result = Process.Start(info);
最佳答案
在IIS管理器(此处为IIS 7.5)中,进入您的应用程序所使用的应用程序池的“高级设置”。将“加载用户配置文件”设置为True。
这似乎是必需的,您已经拥有的-nofirststartwizard
也是如此。
这两件事结合在一起为我工作。
关于c# - 从代码后面启动OpenOffice即服务不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14971797/