从后面的代码启动 OpenOffice 作为服务不起作用

Posted

技术标签:

【中文标题】从后面的代码启动 OpenOffice 作为服务不起作用【英文标题】:Starting OpenOffice as service from code behind doesn't work 【发布时间】:2013-02-20 03:31:14 【问题描述】:

在我的开发机器上一切正常。但是当我在服务器上尝试并从代码启动它时,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 的帐户有权运行它。 服务正在任务管理器中运行.. 只有在您使用 Windows 身份验证时才能选择委托,因此可能不适用 我误读了您的问题,请忽略那些以前的 cmets。尽管它似乎仍然可能与权限相关,但与执行权限无关。 【参考方案1】:

在 IIS 管理器(此处为 IIS 7.5)中,进入您的应用程序使用的应用程序池的高级设置。将“加载用户配置文件”设置为 True。

这似乎是必需的,就像您已经拥有的 -nofirststartwizard 一样。

这两件事结合起来对我有用。

【讨论】:

以上是关于从后面的代码启动 OpenOffice 作为服务不起作用的主要内容,如果未能解决你的问题,请参考以下文章

怎么用在java中开启openoffice服务??

为啥我的启动 OpenOffice 服务的调用在开发中有效,但在服务器上无效?

基于openOffice和python实现office转pdf和html示例代码

我如何在 Windows 7 中启动服务 openOffice,我有这条线命令,但我不知道如何使用它

openoffice在linux下无法启动服务

从终端启动和打开之间的 OpenOffice 行为差异 - 都在 chroot 中