编写windows服务及其安装方法

来源:互联网 发布:淘宝女装代发货源 编辑:程序博客网 时间:2024/06/08 19:05

(仅用作个人的备忘记录)

在项目开发过程中,可能会要求编写windows服务,来自动执行一些代码。通过实际的项目使用,这里将简单记录一下windows服务的编写及其如何安装到服务器上的过程,当作一个备份。

1、首先打开vs新建项目,选择windows服务,具体如下图:


2、默认会自动创建这几个文件,具体各自的作用不解释:


3、program中main函数中会实例化服务并启动,当部署后即可以自动执行了。下面我新建一个MyServiceDeal.cs类,来编写具体的服务中要实现的业务逻辑,此时的文档结构如下:


其中的业务代码可以自己实现:


为了实现调用此类的业务逻辑,则需要转到Service1.cs中的后台代码去重写OnStart方法,如下图:


至此,服务中的业务逻辑基本完成,下面是如何安装的问题,首先,返回Service1.cs的设计视图界面,右键窗体中任意处,选择“添加安装程序”:


然后会自动创建一个ProjectInstaller.cs的文件,其中包含两个组建(serviceProcessInstaller1和serviceInstaller1),如下图:


这里需要对这两个组建分别设置一下,具体的属性设置如下图:



到这里,当项目编译通过后,其实已经可以进行安装了,但此时需要根据命令进行安装(下面还会介绍一种创建一个可以安装的exe程序)。先将使用命令进行安装的方法,首先找到此项目的bin文件下的两个文件(如果项目中还引用了第三方的dll文件,也需要一并拷贝到服务器中指定的文件夹下):


然后打开要安装的服务器的cmd窗口,具体的命令如下图:


然后到服务列表中可以看到安装后的服务:


可以继续输入命令进行启动或关闭或删除:

net start MyService        -- 启动

net stop MyService        -- 关闭

sc delete MyService      -- 删除


接下来再使用exe安装包的形式进行可视化的安装操作,首先右击解决方案→选择新建项目→选择其他项目类型下的 Visual Studio Installer(VS中默认是没有这项的,需要先下载安装一下),如下图:


确定后会出现如下界面:


右击选择 Add→项目输出,然后默认点击确定:



然后再右击MyServiceSetup项目,选择 View→自定义操作:


然后分别设置Install和Uninstall,步骤是相同的,均需要右击文件夹,选择添加自定义操作,并做如下设置:


但需要注意的是,设置Uninstall时还需要额外增加一个设置,具体如下图:


至此,所有的设置均已完成,编辑生成后,找到debug文件夹下的文件,拷贝到服务器上,即可以双击exe文件进行安装了,十分简便:



好了,编写windows服务以及使用两种方法进行安装,就算都做完了。(需要注意的是:第二种安装方法,如果vs中下载安装的Visual Studio Installer中的.net framework版本可能是4.5的,而服务器上的framework是4.0的,那么此时,这种安装方式就会有问题了,安装时总会提示要下载安装framework4.5,若不想安装的话,最好使用第一种安装方式。)


0 0
原创粉丝点击