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. FrameworkElement.Name与x:Name

    在Xaml中定义某种类型的一个element就相当于构造了一个此类型的对象.如: <MyType /> 但是这个对象如何去访问?类似于CLR中在栈中存放对象在堆中的地址,然后将该栈的地址命 ...

  2. 在SQLite中使用索引优化查询速度

    在进行多个表联合查询的时候,使用索引可以显著的提高速度,刚才用SQLite做了一下测试. 建立三个表: create table t1 (id integer primary key,num inte ...

  3. innodb b+树

    http://www.admin10000.com/document/5372.html

  4. poj2182

    首先容易知道,最后一个数是最容易确定的,于是从后往前确定 对于位置j,它的数就是1~n中剩余数的第a[j]+1小的数 这当然可以用平衡数做,复杂度为O(nlogn) 有没有更简洁得算法?树状数组+二分 ...

  5. HNOI2008玩具装箱 (斜率优化)

    总算A了,心情好激动…… 如果会了一类斜率优化,基本上这类题就成了套模版了…… 只是k函数不同 var n,l,x,tail,head,m:int64; i,j:longint; dp,q,s:..] ...

  6. RMAN数据库异机迁移步骤

    --RMAN数据库异机迁移步骤----------------------------2013/09/28 测试环境:AIX+ora11g   一. source数据库准备.   1.获取数据文件编号 ...

  7. 用VisualSVN做项目版本控制

    一.SVN服务端 1.VisualSVN Server下载: http://download.csdn.net/detail/jiminull/4448874 或 http://www.visuals ...

  8. MySQL join的实现原理及优化思路

    Join 的实现原理 在MySQL 中,只有一种Join 算法,也就是Nested Loop Join,没有其他很多数据库所提供的Hash Join,也没有Sort Merge Join.顾名思义,N ...

  9. UVA 1637 Double Patience

    题意:36张扑克,平分成9摞,两张数字一样的可以拿走,每次随机拿两张,问能拿光的概率. 解法:记忆化搜索,状态压缩.一开始我想在还没拿的时候概率是1,然后往全拿光推···样例过不去···后来觉得推反了 ...

  10. Appium自动化测试环境的搭建及脚本执行

    之前搭建了robotium的环境,并使用了一下,因为需要兼顾到ios的测试,所以这次又搭建了appium的环境.关于Appium的介绍网上有很多了,也可以去它的官网学习,这里就不在赘述了. 具体搭建步 ...