軟體自定義服務方法
目的:由於某些軟體由於種種原因沒有做成系統服務形式啟動,必須以登入使用者手動啟動方式啟動,使用者登出軟體關閉,以下方法將軟體安裝成系統服務,並用“允許服務與桌面互動”顯示軟體介面,便於操作
環境工具:
Windows Server 2003 Resource Kit Tools中的instsrv.exe和srvany.exe
Instsrv.exe可以給系統安裝和刪除服務, Srvany.exe可以讓程式以服務的方式執行
下載地址
http://www.microsoft.com/en-us/download/details.aspx?id=17657
步驟
1.nstsrv.exe和srvany.exe拷貝c:\WINDOWS\System32\下
2.在dos下執行如下命令,在系統服務新增服務
c:\WINDOWS\System32\instsrv.exe Notetest c:\WINDOWS\System32\srvany.exe
3.開啟登錄檔HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\自定義服務名稱,Enum可以還不會顯示(不用管它),Parameters是下一步新增的,這裡可加入伺服器描述Description的描述
4.新增Parameters項,有軟體程式的位置,可以用以下存為.reg,匯入,先備份登錄檔
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Notetest\Parameters] "Application"="C:\\WINDOWS\\system32\\notepad.exe" "AppDirectory"="C:\\WINDOWS\\system32\\" "AppParameters"="" |
"Application"="值為你要作為服務執行的程式地址"
"AppDirectory"="值為你要作為服務執行的程式所在資料夾路徑"
"AppParameters"="值為你要作為服務執行的程式啟動所需要的引數"
5.此時你啟動服務,可以看到notepad的(system)程序和一個srvany的程序
6. “允許服務與桌面互動”設定
服務à右擊自定義服務à登入標籤à勾選“允許服務與桌面互動”
此時重啟服務,你會發現會自動彈出一個記事本視窗
問題與解決
1. 啟動服務彈出1053錯誤?
我這裡遇到了,因為把登錄檔“ImagePath”設定成我的軟體的位置,這裡應是srvany的位置
2.允許服務與桌面互動設定不生效,不彈出軟體的介面?
因為win2003必須以控制檯console登陸
參考http://q.cnblogs.com/q/10111/
如果還是不能顯示,請參如下我是沒用到如下方法http://wenku.baidu.com/view/b0cb59b265ce0508763213b2.html
參考:
http://wenku.baidu.com/view/afe0e0e29b89680203d8257b.html
http://wangye.org/blog/archives/42/
轉載於:https://blog.51cto.com/wonitazansa/1047028