創建一個windows服務可以讓openoffice.org實例作爲服務總是運行並監聽連接。下面通過使用SRVANY工具
來創建openoffice的windows服務。(ps:此方法適用於XP,win2k)。
第一步,下載並安裝OpenOffice.org。(默認裝在C:\Program Files\OpenOffice.org 3)
第二步,下載並安裝Windows Server 2003 Resource Kit Tools。(默認裝在C:\Program Files\Windows Resource Kits)
第三步,通過下面的命令創建一個名爲OpenOfficeUnoServer的服務:
在開始運行裏輸入CMD命令(運行cmd.exe),在控制檯下輸入:
“C:\Program Files\Windows Resource Kits\Tools\instsrv.exe” OpenOfficeUnoServer “C:\Program Files\Windows Resource Kits\Tools\srvany.exe”
注意:上面命令中的引號是必須要加上的,否則,windows將無法識別。且 OpenOfficeUnoServer 兩邊需要有空格。若要驗證該服務已正確創建,檢查註冊表。
驗證 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OpenOfficeUnoServer下ImagePath的值是否爲c:\Program Files\Windows Resource Kits\Tools\srvany.exe。
第四步,打開註冊表,找到上述目錄,在OpenOfficeUnoServer下新建名爲Parameters的項。在Parameters下新建兩個字符串值。分別爲:
1. name: Application
value: C:\Program Files\OpenOffice.org 3\program\soffice.exe
2. name: AppParameters
value: -headless -accept=socket,host=127.0.0.1,port=8100;urp;-nofirststartwizard
第五步,打開控制面板\管理工具\服務,找到名爲OpenOfficeUnoServer 的服務,設置屬性啓動類型爲自動,並啓動服務。
第六步,你可能需要將OpenOfficeUnoServer添加爲防火牆例外。
第七步,在cmd下用以下命令查看8100端口是否被監聽,netstat -anp tcp
注:筆者的服務雖然能夠正常啓動,但是在用上述命令監測不到8100端口是否被監聽。
修改:在第四步中,修改第二個參數值,即AppParameters的值爲:-invisible -headless -accept=socket,host=127.0.0.1,port=8100;urp; -nofirststartwizard
即增加參數-invisible。
之前沒有增加這個參數,筆者後來發現其實服務是啓動了,但是卻不能正常工作,也就是當初爲什麼在cmd下用命令netstat -anp tcp監測不到8100被監聽。
增加該參數後,服務就可以正常啓動了。