如何把普通的exe服务器程序注册成windows 服务

    虽然写的大部分程序是在 freebsd 和 linux 下面的。但是,最近还是遇到了一个windows 下面的问题,那就是如何让一个 用Go语言写的服务器,在windows 下面开机的时候不登录就自动启动。

所以,不能设置成在run里面启动。把服务器组成成一个window的服务比较靠谱。但是,当初设计的时候,程序是在linux运行的,后来因为某些原因才搬到windows上,写的时候根本没有考虑弄成window 服务。

    下面是基本的步骤:

 

  1. 准备好 instsrv.exe srvany.exe, 这两个文件在附件中下载。

      instsrv.exe 是注册服务用的, 使用方法如下:

  usage: instsrv <service name> <exe location>        to install a service,

      or:      instsrv <service name> remove        to remove a service

当然也可以采用 sc 命令来操作服务

    2. 注册一个 srvany.exe的服务

    instsrv MyService location/to/srvany.exe

    3. 修改注册表   : 把真正的服务的可执行文件放到注册表里面去

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MyService\Parameters]

"Application"="D:\\go\\tester\\src\\signalserver\\server\\signalserver.exe"

"AppDirectory"="D:\\go\\tester\\src\\signalserver\\server"

"AppParameters"=""

也可以手工在注册表里面修改,或者把上面信息保存成exe

MyService 是服务名称

Application 服务可执行文件路径

AppDirectory 服务执行的目录

AppParameters 参数信息,可以为空

 

posted @ 2013-05-27 19:45  暮夏  阅读(9080)  评论(0编辑  收藏  举报