怎么把exe做成服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把exe做成服务相关的知识,希望对你有一定的参考价值。

参考技术A 1.如何把一个exe做成服务
Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。这两个软件都包含在Windows NT Resource Kit里.

把这两个程序保存在一个方便的位置,例如C盘根目录下。我们举例来说明,把OE作为一个服务添加进Windows XP Professional操作系统中,并把这个服务命名为“Mail”。在运行中输入“CMD”,回车,打开命令行窗口,在提示符后面直接输入:“c:\instsrv.exe Mail c:\srvany.exe”然后回车,其中的“c:\instsrv.exe”和“c:\srvany.exe”表示这两个程序保存的位置,而Mail则是你想添加的服务名称。

运行Regedit打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到刚才添加的Mail,点击右键,新建一个键,命名为“Parameters”,点击新建的Parameters,并再次新建一个名称为“Application”的子键,数据类型为“REG_SZ”,数值为希望作为服务运行的程序的所在位置,如果你的Windows系统安装在C盘下,那么OE的程序位置就是C:\Program Files\Outlook Express\msimn.exe ,把这个路径添入数值中。到现在,这个服务已经成功的添加并且设置好了。如果你希望做的更加专业,可以在Mail服务下建立一个名为Description的子键,数据类型同样为REG_SZ,数值可以写一些你对这个服务的描述,这个我们在后面可以看到。

接下来需要对服务做一些额外的设置,在运行中输入“Services.msc”并回车,在列表中找到我们刚添加的Mail服务,双击打开,来做详细的设置。在“General”选项卡上,我们需要设置这个服务的运行方式,在图二中可以看见,作为一个服务,有“自动(Automatic)”,“手动(Manual)”和“禁止(Disabled)”三种启动类型,按照需要,我们一般设置成自动就可以了。而在“Logon”选项卡下可以设置以什么身份运行这个服务,一般可以不用理会,按照默认的设置。“Recovery”选项卡下则是进行恢复设置的,你可以指定,在服务第一次,第二次和第三次出错之后分别采取什么措施。“Dependencies”则显示了服务之间的依存关系,可以让你察看这个服务的运行依赖哪些其它服务,以及还有什么服务依赖于这个服务。这后面几个对我们一般用户没有什么意义。经过这些设置,你的服务已经完全可以正常工作了。

注销一下看看。为了让你看清除,我们先打开OE,这时在任务管理器里,有两个msimn进程,用户名为“”的是我们打开的OE,而用户名为“SYSTEM”的就是我们添加的服务

如果你玩够了,不想再运行这个服务,可以直接禁止它在启动的时候运行,或者使用Instsrv.exe程序删除。方法是在命令行下输入“c:\instsrv.exe Mail remove”,然后回车就可以了。
2.如何把EXE文件做成windows服务
修改注册表

在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。

如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下:

“DisplayName”,字符串值,对应服务名称;

“Description”,字符串值,对应服务描述;

“ImagePath”,字符串值,对应该服务程序所在的路径;

“ObjectName”,字符串值,值为“LocalSystem”,表示本地登录;

“ErrorControl”,DWORD值,值为“1”;

“Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;

“Type”,DWORD值,应用程序对应10,其它对应20。

另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务。

如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可
3.如何把一个exe做成服务
Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。

这两个软件都包含在Windows NT Resource Kit里. 把这两个程序保存在一个方便的位置,例如C盘根目录下。我们举例来说明,把OE作为一个服务添加进Windows XP Professional操作系统中,并把这个服务命名为“Mail”。

在运行中输入“CMD”,回车,打开命令行窗口,在提示符后面直接输入:“c:\instsrv.exe Mail c:\srvany.exe”然后回车,其中的“c:\instsrv.exe”和“c:\srvany.exe”表示这两个程序保存的位置,而Mail则是你想添加的服务名称。 运行Regedit打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到刚才添加的Mail,点击右键,新建一个键,命名为“Parameters”,点击新建的Parameters,并再次新建一个名称为“Application”的子键,数据类型为“REG_SZ”,数值为希望作为服务运行的程序的所在位置,如果你的Windows系统安装在C盘下,那么OE的程序位置就是C:\Program Files\Outlook Express\msimn.exe ,把这个路径添入数值中。

到现在,这个服务已经成功的添加并且设置好了。如果你希望做的更加专业,可以在Mail服务下建立一个名为Description的子键,数据类型同样为REG_SZ,数值可以写一些你对这个服务的描述,这个我们在后面可以看到。

接下来需要对服务做一些额外的设置,在运行中输入“Services.msc”并回车,在列表中找到我们刚添加的Mail服务,双击打开,来做详细的设置。在“General”选项卡上,我们需要设置这个服务的运行方式,在图二中可以看见,作为一个服务,有“自动(Automatic)”,“手动(Manual)”和“禁止(Disabled)”三种启动类型,按照需要,我们一般设置成自动就可以了。

而在“Logon”选项卡下可以设置以什么身份运行这个服务,一般可以不用理会,按照默认的设置。“Recovery”选项卡下则是进行恢复设置的,你可以指定,在服务第一次,第二次和第三次出错之后分别采取什么措施。

“Dependencies”则显示了服务之间的依存关系,可以让你察看这个服务的运行依赖哪些其它服务,以及还有什么服务依赖于这个服务。这后面几个对我们一般用户没有什么意义。

经过这些设置,你的服务已经完全可以正常工作了。 注销一下看看。

为了让你看清除,我们先打开OE,这时在任务管理器里,有两个msimn进程,用户名为“”的是我们打开的OE,而用户名为“SYSTEM”的就是我们添加的服务 如果你玩够了,不想再运行这个服务,可以直接禁止它在启动的时候运行,或者使用Instsrv.exe程序删除。方法是在命令行下输入“c:\instsrv.exe Mail remove”,然后回车就可以了。
4.如何把EXE文件做成windows服务
修改注册表 在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。

如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下: “DisplayName”,字符串值,对应服务名称; “Description”,字符串值,对应服务描述; “ImagePath”,字符串值,对应该服务程序所在的路径; “ObjectName”,字符串值,值为“LocalSystem”,表示本地登录; “ErrorControl”,DWORD值,值为“1”; “Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止; “Type”,DWORD值,应用程序对应10,其它对应20。

另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务。

如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可。
5.如何将自己的程序做成windows服务
1、安装自己的软件,我们把软件安装到“C:\Program Files (x86)\***\”这个目录下。

2、下载Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。

2、将Instsrv.exe和Srvany.exe放置到某目录下,我们把它们保存在“C:\Program Files (x86)\***\”目录下。

3、打开CMD,输入以下内容:

"C:\Program Files (x86)\***\instsrv.exe" 服务名 "C:\ProgramFiles (x86)\***\srvany.exe"

回车后,如果没有错误就会出现如下所示的成功提示:

注意:服务名可以自己定义。上述即使cd到instsrv.exe或srvany.exe所在目录,也需要写instsrv.exe或srvany.exe文件的绝对路径而不能用相对路径,否则会出现如下错误:

The fully qualified path to the .EXE must be given

4、打开regedit注册表编辑器,找到以下目录:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名

如下图所示:

5、鼠标右键单击<ServerName>;,创建一个"项",名称为"Parameters"。如下图:

6、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"Application",数值数据里填写你要执行的程序完整路径。也就是要填上:

C:\Program Files (x86)***\***.exe

如下图所示:

7、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"AppDirectory",数值数据里填写你要执行的程序的所在目录的路径。

也就是要填上:

C:\Program Files (x86)***\

打开services.msc服务或控制面板,可以看到<ServerName>;已经存在了。

鼠标右键-属性-登陆,勾选"允许服务与桌面交互"(一般你要运行的程序都是有界面的吧)。(这个不起作用,本人试过,界面无法出现,貌似服务不支持带界面的)

严格执行上面的步骤,再次开机后;不需要登录软件即可运行起来。

使用WinSW把nginx做成windows服务

1。下载nginx:http://nginx.org/en/download.html

2.下载win sw:https://github.com/winsw/winsw/releases/tag/v2.11.0 ,下载.NET 4.0 版本,WinSW.NET4.exe。

3.解压nignx压缩包,并重命名文件夹为“nginx”。本例的nginx.exe完整路径为:D:\\Soft\\nginx\\nginx.exe

4。将下载的WinSW.NET4.exe 复制进D:\\Soft\\nginx\\。

5。在D:\\Soft\\nginx\\新建一个名为“WinSW.NET4.xml”的XML文件,内容如下:

<service> 
 <!--服务名称-->
<id>nginxsvr</id>
  <!--显示名称-->
<name>nginx-svr</name>
 <!--描述-->
<description>自启动的 nginx</description> 
 <!--windows服务安装日志-->
<logpath>D:\\Soft\\nginx\\log2</logpath> 
<logmode>roll</logmode> 
<depend></depend> 
 <executable>D:\\Soft\\nginx\\nginx.exe</executable> 
 <stopexecutable>D:\\Soft\\nginx\\nginx.exe -s stop</stopexecutable> 
</service>

 

XML的路径根据实际情况修改。

6.用命令安装并启动:

D:\\Soft\\nginx\\WinSW.NET4.exe install

NET START nginxsvr

 

7.如果需要卸载 :

NET STOP nginxsvr

D:\\Soft\\nginx\\WinSW.NET4.exe uninstall

 

可以保存为批处理,安装BAT:

echo "安装"
D:\\Soft\\nginx\\WinSW.NET4.exe install
echo "启动名为nginxsvr的windows服务"
NET START nginxsvr
pause

卸载BAT:

echo "一定要先停止后卸载,否则电脑需要重启"
echo "停止名为nginxsvr的windows服务"
NET STOP nginxsvr
D:\\Soft\\nginx\\WinSW.NET4.exe uninstall
pause

 

可运行 services.msc 来查看服务状态。

 

以上是关于怎么把exe做成服务的主要内容,如果未能解决你的问题,请参考以下文章

delphi的form做成exe怎么能让它运行时置顶

关于exe应用程序做成Windows服务爬过的坑

使用WinSW把nginx做成windows服务

如何把nginx做成自启动服务

怎么把已做好的ISS用Inno Setup做成EXE输出目录在哪

windows下如何将redis做成一个服务