使用.NET来开发Windows服务特别简单. VS2005中,已经集成了Windows服务的项目模板。
所有Windows服务的类都被封装在了System.ServiceProcess程序集中.
主要的几个类:
1. ServiceBase: 所有Windows 服务的基类.通常我们建立的服务要继承于它. 最重要一个类. 它的EventLog属性可以向系统里写日志。安装时会建立相应的EventSource
2. ServiceInstaller: 服务安装类,控制安装服务时的一些设置,如Name, Description, StartType, ServiceDependedOn...
3. ServiceProcessInstaller: 用于在安装时设置服务进程的帐号.
第2和3这两个类可以在VS中右击服务类->Add installer,自动产生,我们只需要修改相关属性就行了。
建立好服务项目后,可以通过建立安装服务项目,来自动化地安装服务到目标机器中.
也可以手工安装, SDK命令是:InstallUtil <services.dll>. 反安装时请带个参数/U.
附上一个示例程序,供大家参考。