C#创建Windows服务并安装和卸载

2025-10-12 21:43:32

1、创建项目,选择windows 服务。

C#创建Windows服务并安装和卸载

2、添加一个服务业务处理类JobManager.cs。

C#创建Windows服务并安装和卸载

C#创建Windows服务并安装和卸载

3、JobManager.cs类的内容结构如下:

public class JobManager

    {

        Thread t = null;

        public JobManager()

        {

            //可加载相关的配置参数

        }

        /// <summary>

        /// 任务开始

        /// </summary>

        public void Start()

        {

            Tool.WriteLog("开始XXXX任务.....");

            t = new Thread(startExe);

            t.Start();

        }

        /// <summary>

        /// 任务结束

        /// </summary>

        public void Stop()

        {

            try

            {

                t.Abort();

            }

            catch (Exception ex)

            {

                Tool.WriteLog("服务停止失败," + ex.ToString());

            }

        }

        public void startExe()

        {

            //具体的任务逻辑

        }

    }

4、在Service1.cs文件中加载JobManager业务处理类。

public partial class Service1 : ServiceBase

    {

        JobManager jobs = null;

        public Service1()

        {

            InitializeComponent();

            InitializeJobs();

        }

        /// <summary>

        /// 初始化任务对象

        /// </summary>

        protected void InitializeJobs()

        {

            Tool.WriteLog("XXXX正在初始化...");

            try

            {

                jobs = new JobManager();

            }

            catch (Exception ex)

            {

                Tool.WriteLog("XXXX初始化失," + ex.Message);

            }

            Tool.WriteLog("XXXX初始化成功");

        }

        protected override void OnStart(string[] args)

        {

            Tool.WriteLog("XXX服务开始启动...");

            try

            {

                jobs.Start();

            }

            catch (Exception ex)

            {

                Tool.WriteLog("XXXX服务启动异常," + ex.Message);

            }

            Tool.WriteLog("XXXX服务启动完成...");

        }

        protected override void OnStop()

        {

            Tool.WriteLog("XXX服务开始停止...");

            try

            {

                jobs.Stop();

            }

            catch (Exception ex)

            {

                Tool.WriteLog("XXXX服务停止异常," + ex.Message);

            }

            Tool.WriteLog("XXXX服务停止完成...");

        }

    }

5、业务逻辑完成后,双击Service1.cs文件,出现下图。

C#创建Windows服务并安装和卸载

6、点击鼠标右键,出现菜单,点击添加安装程序。

C#创建Windows服务并安装和卸载

7、出现安装控件

C#创建Windows服务并安装和卸载

8、点击第一个控件,右键 选择属性,Account选择LocalSystem.

C#创建Windows服务并安装和卸载

9、第二个控件,右键属性,设置相关属性

C#创建Windows服务并安装和卸载

10、Windows服务创建完成,开始生成整个项目。

11、接下来需要把服务器程序添加到windows服务中。装备两个批处理文件Install.bat加载服务,UnInstall.bat卸载服务,把生成好的exe、dll和两个bat文件,放到一个文件夹,拷贝到部署的服务器上。

C#创建Windows服务并安装和卸载

12、Install.bat内容如下:

@echo 请按任意键开始安装XXXX服务

@echo.

pause

@echo.

@echo 卸载原有服务项

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exe

@echo.

@echo 卸载完成,开始安装...

@echo.

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exe

Net Start WindowsService

sc config WindowsService start= auto

@echo.

pause

注意:其中WindowsService 为自定义服务名称。

C#创建Windows服务并安装和卸载

13、UnInstall.bat的内容如下:

@echo 请按任意键开始卸载XXXX服务

@echo.

pause

@echo.

@echo 开始卸载...

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exe

@echo.

pause

C#创建Windows服务并安装和卸载

14、bat文件创建好后,可以运行Install.bat,右键 选择“以管理员身份运行”,在弹出的黑框内按任意键继续。

C#创建Windows服务并安装和卸载

15、安装成功后,可以在运行中输入services.msc打开服务列表,找到刚刚添加的windows服务。

C#创建Windows服务并安装和卸载

16、如何需要卸载该服务,可以运行UnInstall.bat,右键 选择“以管理员身份运行”.

C#创建Windows服务并安装和卸载

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢