创建windows定时,系统服务,卸载和安装详细步骤

本文详细介绍了如何创建Windows服务项目,包括添加自定义设置文件、配置安装参数、设置服务属性(如LocalSystem账户、启动类型和服务描述)。在完成准备工作后,通过CMD使用InstallUtil.exe进行服务的安装,并提供了卸载服务的命令`sc delete ServiceName`。文章还强调了以管理员权限运行CMD的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 新建 windows 服务 项目



2 添加自定义设置文件


3 配置基本参数,

在程序中可以如下使用 这里定义的常量 Timing_WX_L.Settings1.Default.span,

4 设置安装参数  可参考 http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html

  1. 一、打开Service1.cs视图界面

  2. 在视图内右键-->添加安装程序

  3. 二、项目中添加了ProjectInstaller.cs文件,该文件中视图自动会添加俩个组件

    serviceProcessInstaller1

    serviceInstaller1


    三、选中serviceProcessInstaller1组件,查看属性,设置account为LocalSystem
  4. 四、在视图内右键-->添加安装程序

  5. 五、项目中添加了ProjectInstaller.cs文件,该文件中视图自动会添加俩个组件

    serviceProcessInstaller1

    serviceInstaller1


  6. 六、选中serviceProcessInstaller1组件,查看属性,设置account为LocalSystem

  7. 七、选中serviceInstaller1组件,查看属性

    设置ServiceName的值, 该值表示在系统服务中的名称

    设置StartType, 如果为Manual则手动启动,默认停止,如果为Automatic为自动启动

    设置Description,添加服务描述

  8. 八、重新生成项目



---------------------------------------------------------------以上是准备工作----------------------------------------------------------------------


5 在程序运行主程序里,填写如下程序

 partial class Wx_pay_L : ServiceBase
    {
        Timer _timer = new Timer();
        string filePath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "logWX.txt";// "D:\\ws.txt";
        static int i = 0;
        static int span = 0;
        public Wx_pay_L()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
          
            //时间间隔 
            span = Convert.ToInt32(Timing_WX_L.Settings1.Default.span);

            _timer.AutoReset = true;
            _timer.Interval = 1000 * span;// 默认*1000是1秒
            _timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

            try
            {
                TextWriter sw = new StreamWriter(filePath, true);
                sw.WriteLine("------" + System.DateTime.Now.ToString());
                sw.WriteLine("服务启动。");
                sw.Flush();
                sw.Close();
            }
            catch
            { }
            _timer.Start();
        }
        private void OnTimedEvent(object source, ElapsedEventArgs e)
        {

            try
            {
                string uri = "http://localhost:802/api/pay/everyGetAllData";
                WebClient wc = new WebClient();
                string r = wc.DownloadString(uri);

            }
            catch (Exception ex)
            {
                try
                {
                    TextWriter sw = new StreamWriter(filePath, true);
                    sw.WriteLine("------" + System.DateTime.Now.ToString());
                    sw.WriteLine(ex.Message);
                    sw.Flush();
                    sw.Close();
                }
                catch
                { }
            }
        }
        protected override void OnStop()
        {
            try
            {
                TextWriter sw = new StreamWriter(filePath, true);
                sw.WriteLine("------" + System.DateTime.Now.ToString());
                sw.WriteLine("服务停止。");
                sw.Flush();
                sw.Close();
            }
            catch
            { }
        }

        //private static string GetAppConfig(string strKey)   这里是直接引用 webconfig
        //{
        //    foreach (string key in ConfigurationManager.AppSettings)
        //    {
        //        if (key == strKey)
        //        {
        //            return ConfigurationManager.AppSettings[strKey];
        //        }
        //    }
        //    return null;
        //}  
    }

6 生成之后的bin目录里就有exe文件,之后运行如下步骤安装和卸载其为系统服务

         一、  点击 开始,运行中输入cmd,获取命令提示符

           win7需要已管理员的身份启动,否则无法安装

        二、输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车
切换当前目录,此处需要注意的是,在C:\Windows\Microsoft.NET\Framework目录下有很多类似版本,具体去哪个目录要看项目的运行环境,例 如果是.net framework2.0则需要输入 cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

       三、输入 InstallUtil.exe E:\TestApp\Winform\WinServiceTest\WinServiceTest\bin\Debug\WinServiceTest.exe 回车
说明:E:\TestApp\Winform\WinServiceTest\WinServiceTest\bin\Debug\WinServiceTest.exe表示项目生成的exe文件位置

     四、打开服务,就可以看到已经安装的服务了;

      卸载很简单,打开cmd, 直接输入 sc delete WinServiceTest便可。还有问题可以参考文件下面的参考网址


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值