创建一个简单WindowsService

创建一个简单WindowsService

1.创建一个项目:

选择windows 服务 名称为ServiceTest

 

 

2.重命名为ServiceTest

 

 

弹出下列弹框时选择是

 

 

3.添加安装程序:

双击

 

 

 

在设计窗口对应标签下右击 选择添加安装程序

 

 

 

右击 serviceInstaller1 选择属性

 

 

ServiceName修改为ServiceTest

 

 

右击 serviceProcessInstaller1 选择属性

 

 

Account修改为LocalService

 

 

4.编写代码 右击 ServiceTest.cs文件

 

 

选择查看代码

添加代码如下:

using System.ServiceProcess;

namespace ServiceTest
{
    public partial class ServiceTest : ServiceBase
    {
        public ServiceTest()
        {
            InitializeComponent();
        }
        /// <summary>
        /// 服务启动时
        /// </summary>
        /// <param name="args"></param>
        protected override void OnStart(string[] args)
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("E://ServiceLog.TXT"))
            {
                sw.WriteLine("{0}ServiceTest已经启动", System.DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"));
            }
        }
        /// <summary>
        /// 服务停止时
        /// </summary>
        protected override void OnStop()
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("E://ServiceLog.TxT"))
            {
                sw.WriteLine("{0}ServiceTest已经停止", System.DateTime.Now.ToString("yyyy-MM-dd:HH:mm:ss"));
            }
        }
    }
    
}

 添加安装批处理文件 Install.bat 到项目中 内容如下(使用记事本的话,请保存完ANSI格式,否则部分转义符号可能不被识别)

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe %~dp0\bin\Debug\ServiceTest.exe
Net Start ServiceTest
sc config ServiceTest start= auto
pause

这个批处理的意思是 调用%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\  批处理安装程序 installutil.exe 安装批处理文件所在目录下的bin\Debug\ServiceTest.exe 程序

启动服务ServiceTest

并设置服务ServiceTest 为自动

pause 是让批处理执行完之后暂停已查看结果

添加卸载处理程序 UnInstall.bat 到项目中 内容如下(使用记事本的话,请保存完ANSI格式,否则部分转义符号可能不被识别)

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u %~dp0\bin\Debug\ServiceTest.exe
pause

这个批处理的意思是 调用%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\  批处理安装程序 installutil.exe 卸载批处理文件所在目录下的bin\Debug\ServiceTest.exe 程序

pause 是让批处理执行完之后暂停已查看结果

整个目录如下:

生成一下整个项目 先运行Install.bat

服务已经启动成功了,查看日志

 

如果报错的话,请以管理员权限运行脚本

如果出现 服务无法启动 服务没有报告任何错误

多半是程序有问题,可以检查windows事件查看器

posted @ 2018-01-02 15:08  落叶落  阅读(1321)  评论(0编辑  收藏  举报