Windows服务的创建、安装、卸载
1.新建Window服务项目
2.添加安装配置文件
3.serviceProcessInstaller1右键属性,设置Account属性为LocalSystem。
serviceInstaller1右键属性,设置Description、DisplayName、StartType。
这些设置在安装后的服务中可以看到。
cmd下输入services.msc,可以看到系统的服务。
Description:为服务中显示的描述信息。
DisplayName:为服务名称。
StartType:启动类型,常用的有手动(Manual)、自动(Automatic)。
设置好后,点击保存。
4.编写服务执行的代码
双击Services1.cs,右键查看代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text; namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
} protected override void OnStart(string[] args)
{
} protected override void OnStop()
{
}
}
}
显示了服务开始事件、停止事件。
我们如果要实现定时任务的话,可以在构造方法中使用Timer。
public Service1()
{
InitializeComponent(); Timer timer = new Timer();
timer.Interval = * * AppHelper.Interval;
timer.Enabled = true;
timer.Elapsed += TimedEvent;
}
private void TimedEvent(object sender, System.Timers.ElapsedEventArgs e)
{
}
5.至此一个服务创建完成,下来介绍服务的安装。
找到服务项目bin/debug下的文件,Copy到D:\WindowsService下。
当然这个路径是任意的,执行安装任务、卸载任务的时候需要使用。
去C:\Windows\Microsoft.NET\Framework64\v4.0.30319下找到InstallUtil.exe这个文件。
因为我用的64位的系统,32位前往C:\Windows\Microsoft.NET\Framework\v4.0.30319中找这个文件。
将这个安装、卸载文件Copy到D:\WindowsService下。
所有准备工作做好了,下来说安装。
管理员身份运行cmd,之后执行D:\WindowsService\InstallUtil.exe D:\WindowsService\WindowsService1.exe 回车
cmd下输入services.msc根据名称就可以看到我们安装的服务了。
服务安装好运行起来后,我们想要用vs调试下服务代码怎么操作了?
选择vs上的debug(调试)-》附加到进程-》勾选显示所有用户的进程,这个时候就能看到我们安装的进程了,选择这个进程。
对于定时任务,定时器执行的事件处设置好断点,等到定时器间隔到时,就会看到程序走到断点处了。
6.服务卸载
管理员身份运行cmd,之后执行D:\WindowsService\InstallUtil.exe -u D:\WindowsService\WindowsService1.exe 回车
Windows服务的创建、安装、卸载的更多相关文章
- windows服务项目的 安装 卸载 查看
安装服务:installutil.exe C:\a.exe卸载服务Installutil.exe /u C:\a.exe 查看服务状态 services.msc
- C# Windows服务的创建、安装、调试
一.查看已有的Windows服务 选择菜单"开始"-〉"控制面板"-〉"管理工具"-〉"服务"来查看现有系统中的服务 二 ...
- windows服务的创建、安装、调试全过程及引发的后续学习
前几天做项目的时候需要用到window服务,研究一段时间,算是掌握了最基本的使用方法吧,现总结如下: 引言:在项目过程中碰到一个问题:需要不断的扫描一个大型数据库表,并获取dataset,以便做后续的 ...
- 玩转Windows服务系列——创建Windows服务
创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...
- 玩转Windows服务系列——创建Windows服务
原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...
- C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
C#Windows Service服务程序的安装/卸载.启动/停止 桌面客户端管理程序设计 关于Windows Service程序的安装与卸载如果每次使用命令行操作,那简直要奔溃了,太麻烦而且还容易出 ...
- 关于windows服务的编写/安装/与调试
前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...
- Windows服务的创建,安装,卸载
我公司项目的产线系统要与WMS物流系统做借口对接,需要我创建一个windows服务的项目,里面含有7个服务 创建Windows服务: 1.如图:点击 windows->经典桌面->wind ...
- C# Windows服务创建安装卸载
一.创建Windows服务 使用VS创建一个新的windows服务应用程序 创建完成之后 二.相关配置 修改Service1名称为StartService(可以不改,自行选择) 添加安装程序并修改配置 ...
- windows服务的创建、安装和调试
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...
随机推荐
- extJS4.2.0 环境搭建教程(一)
一.环境搭建
- WebRequest调用
WebRequest支持不同的浏览器对象,可以在底层使用不同的XMLHttpRquest方式调用Web服务. Time.aspx <%@ Page Language="C#" ...
- (中等) UESTC 94 Bracket Sequence,线段树+括号。
There is a sequence of brackets, which supports two kinds of operations. we can choose a interval [l ...
- 单片机联网,UIP实现tcp/udp协议
UIP是单片机界联网的一个很好地选择,移植这个库有点复杂,首先是第一步,网卡驱动要写好,使用的网卡芯片为ENC28J60,驱动可以再工程包里面找到 //配置网卡硬件,并设置MAC地址 //返回值:0, ...
- iOS开发——闪光灯
还是那句很欠揍的话,没啥难度,直接上代码. // // ViewController.m // Demo—闪光灯 // // Created by yyt on 16/4/21. // Cop ...
- iOS开发:创建真机调试证书 分类: ios相关 2015-04-10 10:22 149人阅读 评论(0) 收藏
关于苹果iOS开发,笔者也是从小白过来的,经历过各种困难和坑,其中就有关于开发证书,生产证书,in_house证书,add_Hoc证书申请过程中的问题,以及上架发布问题.今天就着重说一下关于针对于苹果 ...
- C++中的IO流
一,标准输入流 1.基本功能(头文件为iostream) char ch = cin.get();// 一次读取一个字符,如果遇到EOF则结束. cin.getline(buf,length);// ...
- linux 5个查找命令
1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...
- Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol
Oracle 12c 如果java报这个错误,用oracle自带的ojdbc6.jar,可以解决这个问题.
- Memcached操作以及用法
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...