1、新建一个windows服务程序。



2、点击这个服务类,从工具箱中加入一个Timer控件,右键这个Timer控件 命名为 timerOrderDeductionDetailJob,Enable设为True。





3、右键这个服务类,在OnStart方法中设置Timer控件的启动间隔时间。

        protected override void OnStart(string[] args)
{
// TODO: 在此处加入代码以启动服务。 this.timerOrderDeductionDetailJob.Interval = 1000;
}

4、双击Timer时间控件,注冊一个事件

        private void timerOrderDeductionDetailService_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        { 
     Working();//运行的方法
        }

5、运行的方法

       private void Working()
{ new ExceptionHelper().WriteLog("Start OrderDeductionDetailJob Job " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), @"OrderDeductionDetailJob" );
this.timerOrderDeductionDetailJob.Enabled = false; try
{
OrderDeductionDetailJob Order = new OrderDeductionDetailJob();
Order.Execute();
}
catch (Exception ex)
{
StringBuilder sbError = new StringBuilder();
sbError.Append("错误时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + Environment.NewLine);
sbError.Append("错误文件:" + ex.Source + Environment.NewLine);
sbError.Append("错误信息:" + ex.Message + Environment.NewLine);
sbError.Append("引发错误的方法:" + ex.TargetSite + Environment.NewLine);
sbError.Append("引发错误的跟踪:" + ex.StackTrace + Environment.NewLine);
new ExceptionHelper().WriteLog(sbError.ToString(), @"OrderDeductionDetailJob");
} this.timerOrderDeductionDetailJob.Enabled = true;
new ExceptionHelper().WriteLog("End OrderDeductionDetailJob Job " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), @"OrderDeductionDetailJob");
new ExceptionHelper().WriteLog("* * * * * * * * * * * * * * * * * * * * * * * * *" + Environment.NewLine + Environment.NewLine + Environment.N ewLine, @"OrderDeductionDetailJob");
}

6、加入服务的安装程序,点击这个服务类,右键加入安装程序。



7、点击这个安装程序类。

8、改变安装服务名称。StartType改为Automatic。



9、serviceProcessInstaller1  右键属性 Account改为LocalSystem。



10、编译这个服务,安装。安装方法分为两种:

     (1)、windows+R (执行命令提示符)。输入cmd

执行命令:       C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe   (空格) window项目的bin\Release下.exe文件地址

比如:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe (空                    格) F:\chenfeilong\Project\AidaijiaWin\ADJ.Job.OrderDeductionDetailService\bin\Release\ADJ.Job.OrderDeductionDetailService.exe

(2)、sc create 服务名称 binPath=(空格)  “windows服务项目的bin\Release下.exe文件地址”   start=auto

11、卸载windows服务:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe  
-u  window项目的bin\Release下.exe文件地址

C# 创建、安装和卸载Windows服务程序的更多相关文章

  1. 安装和卸载windows服务程序

    安装window服务 安装命令:InstallUtil.exe MyServiceLog.exe InstallUtil存在路径为:C:\WINDOWS\Microsoft.NET\Framework ...

  2. C#Windows Service程序的创建安装与卸载

    C#Windows Service程序的创建安装与卸载 一.开发环境 操作系统:Windows7x64 sp1 专业版 开发环境:Visual studio 2013 编程语言:C# .NET版本: ...

  3. C#创建安装、卸载部署程序

    分享3: 需求:对已经开发的应用程序进行安装封装操作,即创建安装.卸载部署程序: 分析:程序的开发是为了在不同的人在不同的机器上使用,为了使不同机器使用该软件就需要见程序安装包,并且保证安装包中必须包 ...

  4. C# 远程服务器 安装、卸载 Windows 服务,读取远程注册表,关闭杀掉远程进程

    这里安装windows服务我们用sc命令,这里需要远程服务器IP,服务名称.显示名称.描述以及执行文件,安装后需要验证服务是否安装成功,验证方法可以直接调用ServiceController来查询服务 ...

  5. 安装sqlserver 的时候 报错:无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能。

    无法安装以下功能:.NET Framework 3.5(包括.NET2.0和3.0) 无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能. 若要安装Windows ...

  6. C# 安装和卸载 Windows Service

    特别注意: 安装Window Service 的时候,一定要用管理员打开命令提示符(cmd) 1. 创建Windows Service 服务项目 2. Service设计界面:右键-->选择安装 ...

  7. 安装和卸载windows程序

    安装windows service通常有两种工具 1.Framework目录下的installutil.exe工具.2.visual studio命令行工具 在这里我要说的是当我们使用的系统是64位的 ...

  8. 使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本

    关于Visual Studio 2012中使用InstallUtil对Windows服务进行安装与卸载的文章,在MSDN中的http://msdn.microsoft.com/en-us/librar ...

  9. 批处理文件安装与卸载Windows服务

    //安装Windows服务 将RECPost.exe和RECPostService替换成自己的项目名称和服务名称,并将文件保存成bat格式.其中%cd%是获取相对路径 @echo off set fi ...

随机推荐

  1. 【 随笔 】 D3 难吗?

    有不少朋友说学 D3 挺难的.为什么呢?想写一篇文章分析分析. 1. D3 出现的背景 D3.js 是 Github 上的一个开源项目,用于数据可视化.作者是 Mike Bostock,纽约时报的工程 ...

  2. 【转】Angular运行原理揭秘 Part 1

    当你用AngularJS写的应用越多, 你会越发的觉得它相当神奇. 之前我用AngularJS实现了相当多酷炫的效果, 所以我决定去看看它的源码, 我想这样也许我能知道它的原理. 下面是我从源码中找到 ...

  3. 内存映射 madvise mmap

    http://linux.die.net/man/2/madvise mmap && madvise的配合使用 mmap和madvise一起使用例子 mmap的作用是将硬盘文件的内容映 ...

  4. MySQL查询大小写是否敏感问题分析

    mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的.  1. 什么是字符集和校验规则? 字符集 ...

  5. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

  6. POJ3241 Object Clustering 曼哈顿最小生成树

    题意:转换一下就是求曼哈顿最小生成树的第n-k条边 参考:莫涛大神的论文<平面点曼哈顿最小生成树> /* Problem: 3241 User: 96655 Memory: 920K Ti ...

  7. selenium 调用JS操作滚动条(java)来解决element not clickable的问题

    今天在运行自动化用例的时候,发现总是某个元素提示not  clickable.分析原因有可能是页面右下角那个大大的top图标,刚好挡住了我要点击的元素.要解决就得拉动页面,就需要操作页面上的滚动条. ...

  8. 判断A树是否包含B树结构

    题目:输入两棵二叉树A和B,判断B是不是A的子结构 分析:根据数的遍历方法,首先想到的是采用递归的方式要更简单些,树A从根节点进行遍历,首先判断与B的根节点值是否相等,如果相等则进行递归遍历验证,否则 ...

  9. 利用weka和clementine数据挖掘举例

    1.数据概述 本报告中采用的数据集来自于UCI经典数据集Adult,最初来源是由1994年Barry Becker的统计数据集,该数据集本来最初的主要任务是根据数据集中的相关属性预测某个人的年收入是大 ...

  10. HIbernate学习笔记(九) hibernate事务并发处理与乐观悲观锁

    事务并发处理 一. 数据库的隔离级别:并发性作用. 1.   ReadUncommited(未提交读):没有提交就可以读取到数据(发出了Insert,但没有commit就可以读取到.)很少用 2.   ...