C# 服务程序自带安装、卸载功能
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.Threading.Tasks; namespace ZentaoMailService { class Program { static void Main(string[] args) { if (args.Length > 0 && args[0] == "s") { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new ZentaoService(), }; ServiceBase.Run(ServicesToRun); } else { Console.WriteLine("这是Windows应用程序"); Console.WriteLine("请选择,[1]安装服务 [2]卸载服务 [3]直接运行 [其他]退出"); var rs = int.Parse(Console.ReadLine()); switch (rs) { case 1: //取当前可执行文件路径,加上"s"参数,证明是从windows服务启动该程序 var path = Process.GetCurrentProcess().MainModule.FileName + " s"; Process.Start("sc", "create ZentaoService binpath= \"" + path + "\" displayName= ZentaoService start= auto"); Console.WriteLine("安装成功"); Console.Read(); break; case 2: Process.Start("sc", "delete ZentaoService"); Console.WriteLine("卸载成功"); Console.Read(); break; case 3: MailHelper mail = new MailHelper(); mail.Start(); break; default: break; } } } } }
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号