C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
系列一: 制作一个可安装、可启动、可停止、可卸载的Windows service(downmoon原创)
系列二:演示一个定期执行的windows服务及调试(windows service)(downmoon)
系列三: windows service系列三--制作可控制界面的windows service因为windows service 工作中最近开始频繁使用,而手工部署的方式,最好的是用BAT文件,可是程序要部署到别的服务器上时,就会发现路径是一个问题:当然也可以用全局变量来控制,这里不赘述。
给出一个手工部署的例子setupServer.bat
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
unInstallServer.bat
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
也可以同时判断两个以上的net FrameWork版本
这里要介绍的是一个完整的安装程序,所以服务本身就略去,如果有朋友需要学习,可以跟我联系3w@live.cn
好了,言归正传
假定 windows Service已写好,服务名为servTradeMatch2007,可执行文件名为TradeMatchService2007.exe
![](http://kdpslq.blu.livefilestore.com/y1pziKb05CW36cJLcUdfcgk4l2KZjzahts5ozcGqruRWRbYzjKKrOsHSJugB6aq7haCyA80jauYFJ8Igv9hbppVWw/WindowsService01.png)
一、首先在解决方案中创建一个安装部署的项目,右键点击项目名称,在菜单中选择[添加]-->[项目输出],
在弹出的"添加项目输出组"窗口中,第一个下拉框会列出该解决方案中其他的项目,
选择需要制作安装的windows service项目,再选择主输出,点[确定]。如图:
![](http://kdpslq.blu.livefilestore.com/y1po7lZMeDDJUw4bYc3zo0rjfvGyyZhVMfxttoC3uLuQA9aQ397XzVMM6Tg20xWeM-YOTWCTqrrCmbfdmoh76Fz3g/WindowsService02.png)
依次在”目标计算机上的文件系统“--”应用程序文件夹“下添加以下四个文件
1、msiexec.exe
2、start.bat
3、stop.bat
4、主输出文件
![](http://kdpslq.blu.livefilestore.com/y1po7lZMeDDJUxpfJqeyGruoLDtu1Q7UwAFhke7rCkEueR5wwgh-PJ5ZNq_zLxG8-4yAJU-zI3XRT3IYcfpVtHiJQ/WindowsService03.png)
其中msiexec.exe位于Windows\System32下
stopbat文件内容如下:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
startbat文件内容如下:
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
在"用户的程序文件夹下",新建一文件夹”蔬菜网全文检索服务“,分别制作这前三个文件的快捷方式到这里
![](http://kdpslq.blu.livefilestore.com/y1pZ7Wq54Rw28qwKciJkiE0RCdh0QTyZMxjhCBND2q95O1Aoqu2uIRD0EG2pt5CSTVGq5YIRo-OlKZsc9k3QyUS0Q/WindowsService04.png)
右键单击”卸载服务“(msexec.exe对应的快捷方式)
输入一串值
![](http://kdpslq.blu.livefilestore.com/y1pR-Mk2eAUMB6KvBBEy7hEB9sDFIPF6hIgUp_y3DKJKC6aNQy_Xl-94ubRsv8N5h3ZpjqlD5e0kAkMD16AkhcSKQ/WindowsService05.png)
其中"/x "后面对应和数值来自
Setup_TradeMatchService2007.vdproj文件
![](http://kdpslq.blu.livefilestore.com/y1pbjHJnEfbi9SGU9Imt5CBfEEZOQ9BtcgXfsdVkweVsnm6TYTwf0W2NElH7-s8-JF-qIqcyrCeosg2fizkGZ9KDw/WindowsService06.png)
OK ! 生成安装包,
别急,安装完后,windows service并没有安装成服务。
还必须在安装项目中添加自定义操作。右击安装项目->视图->自定义操作。如下图:分别添加自定义操作,在应用程序文件夹中选择刚才添加的主输出即可.
![](http://kdpslq.blu.livefilestore.com/y1p2JTuHP8Hrky6RMx3z4eeqaY5inyWEb7yFb0n0SINGcz-N_Zdjjv5o3qih6_5lXAicOKEXxiXLIhn0y1mipDK1g/WindowsService07.png)
![](http://kdpslq.blu.livefilestore.com/y1pSg9bj2p_TcFQvohb0w8Cphjt9fhBq_gcOLSXPapX76IvVyQNRnZYKTFfI0MgZyOQpwhMlmIDm1a3kRW2FuXxZg/WindowsService08.png)
安装过程如下:
![](http://kdpslq.blu.livefilestore.com/y1pXWVnUIyJ4yLRuF-VvCQIOyKM3c4wLzDonqcO9s9bauEZKBqTEv5B4FVsCYc2P5X35ho_l6suaPs9f_tMVwE2Qg/WindowsService09.png)
![](http://kdpslq.blu.livefilestore.com/y1pXWVnUIyJ4yLKzeu6i-dUo55ZJhCaNrA1NvLbj0y6LNpFxeKjFos8Ybe3E40pd3JxISjN2BwAwDHlZffvQndFdw/WindowsService10.png)
![](http://kdpslq.blu.livefilestore.com/y1poX8wDBNO5YobQWO6ah6ooLkasIKP80aT2-wwYjkAPrKOcxeiHmyeqJU68I72o4kA0yn8R6QkzAvhby7jAhcF0w/WindowsService11.png)
![](http://kdpslq.blu.livefilestore.com/y1poX8wDBNO5YoSr_atJ_wN3uXWpszRWLryahZB_BlSwTKIuwwLoA4TZEKfvyhYeo8T-s6LchCuHaMiEB6aGUz94w/WindowsService12.png)
卸载:
![](http://kdpslq.blu.livefilestore.com/y1pkE5FA05uuuwTo394JYF0Gm4r3sl-EUhldx_mFSkfsyy2fzz1IZPnceQ5AKZPpDT1j2xI6QHsK8jSGg9S-inyVQ/WindowsService13.png)