windows服务程序,就是在启动系统的时候自动启动的windows程序
1. 创建:vs2005中选择 c#-windows-windows服务
2. 在设计器中视图设置服务的属性,包括允许停止、暂停、恢复、响应关机事件,以及服务的名称
3. 重写 开启、停止、暂停、恢复、自定义命令方法,即添加服务的功能
4. 安装服务类:在设计器视图,右键添加安装程序,vs自动添加两个实例,一个用于安装进程,一个用于安装服务,可以有多个服务
设置serviceProcessInstaller的属性:account为localsystem ,表示系统帐户
设置serviceInstaller的属性:添加discription(表示服务的注释)和displayName(表示服务在任务管理器等显示的友好名称),注意设置ServiceName的值,一定与服务类的名称一致
注意服务功能程序中,不能出现用户交互,即不能出现Form对话框,全部在后台运行
点击生成,可以生成服务程序,exe格式
经过以上步骤,服务创建完毕
由于服务的安装和卸载,不能直接运行上面生成的exe文件进行安装或运行,可以自行编写一个服务安装卸载以及服务控制程序,步骤如下:
1. 新建一个windowsForm应用程序,加如相应控件,如安装、卸载、开启、停止等
2. 对于服务的安装,使用安装类:AssemblyInstaller,设置路径Path,调用Install,进行事务方式的安装
3. 对于服务的卸载,仍然使用安装类:AssemblyInstaller,设置路径路径Path,设置CommandLine参数为new string[] { "/u" },调用Unistall,进行卸载。
3. 对于服务的开启、暂停、恢复、停止、自定义命令,使用ServiceController服务控制类,设置服务名称(一定要为所安装的服务名称),调用服务中重写的方法(开启,暂停,恢复,停止,自定义命令);其中自定义命令的调用,使用ExecuteCommand(128);需要服务程序中重新写override void OnCustomCommand(int command),128表示参数,对应int command,取值从128-256
点击生成,可以生成服务控制程序,exe格式
经过以上步骤,服务控制程序创建完毕,可以直接运行此exe文件进行服务的装卸,开启等
关于服务的调试:
1. 运行服务,不要在服务控制程序的调试中运行,直接点击exe进行服务的运行
2. 打开服务解决方案,设置断点
3. 调试服务控制程序,点击 调试-附加到进程,点击显示系统进程,选择所运行的服务,附加
4. 可以调试了
以上是调试的步骤,还不太懂,有待进一步研究
微软的东西太TM烦了
1. 创建:vs2005中选择 c#-windows-windows服务
2. 在设计器中视图设置服务的属性,包括允许停止、暂停、恢复、响应关机事件,以及服务的名称
3. 重写 开启、停止、暂停、恢复、自定义命令方法,即添加服务的功能
4. 安装服务类:在设计器视图,右键添加安装程序,vs自动添加两个实例,一个用于安装进程,一个用于安装服务,可以有多个服务
设置serviceProcessInstaller的属性:account为localsystem ,表示系统帐户
设置serviceInstaller的属性:添加discription(表示服务的注释)和displayName(表示服务在任务管理器等显示的友好名称),注意设置ServiceName的值,一定与服务类的名称一致
注意服务功能程序中,不能出现用户交互,即不能出现Form对话框,全部在后台运行
点击生成,可以生成服务程序,exe格式
经过以上步骤,服务创建完毕
由于服务的安装和卸载,不能直接运行上面生成的exe文件进行安装或运行,可以自行编写一个服务安装卸载以及服务控制程序,步骤如下:
1. 新建一个windowsForm应用程序,加如相应控件,如安装、卸载、开启、停止等
2. 对于服务的安装,使用安装类:AssemblyInstaller,设置路径Path,调用Install,进行事务方式的安装
3. 对于服务的卸载,仍然使用安装类:AssemblyInstaller,设置路径路径Path,设置CommandLine参数为new string[] { "/u" },调用Unistall,进行卸载。
3. 对于服务的开启、暂停、恢复、停止、自定义命令,使用ServiceController服务控制类,设置服务名称(一定要为所安装的服务名称),调用服务中重写的方法(开启,暂停,恢复,停止,自定义命令);其中自定义命令的调用,使用ExecuteCommand(128);需要服务程序中重新写override void OnCustomCommand(int command),128表示参数,对应int command,取值从128-256
点击生成,可以生成服务控制程序,exe格式
经过以上步骤,服务控制程序创建完毕,可以直接运行此exe文件进行服务的装卸,开启等
关于服务的调试:
1. 运行服务,不要在服务控制程序的调试中运行,直接点击exe进行服务的运行
2. 打开服务解决方案,设置断点
3. 调试服务控制程序,点击 调试-附加到进程,点击显示系统进程,选择所运行的服务,附加
4. 可以调试了
以上是调试的步骤,还不太懂,有待进一步研究
微软的东西太TM烦了