起因:一台服务器中部署的程序,停电后未按照计划任务正常启动。

一、创建并配置Windows服务程序

开发工具VS2015

Framework版本2.0

1.新建Windows服务

2.在Service.cs中编写服务程序所需要执行的操作

服务运行时会自动加载Service1中的代码,亦有OnStart(),OnStop(),OnShutdown()方法分别对应服务启动,服务停止和计算机关闭操作。

3.添加安装程序并配置服务属性

3.1在Service.cs中鼠标右键单击,添加安装程序。

3.2配置serviceProcessInstaller和serviceInstaller

3.2.1默认账户类型,后期可在服务属性页登录标签下修改。

3.2.2配置默认启动方式和服务名称

3.2.3 配置安装过程相关事件

二、安装服务

1.方式一:通过打包安装程序安装

工具→扩展和更新→联机,搜索installer,选择MicrosoftVisualStudio2015Installer进行下载安装

选中解决方案,右键新建项目,选中setup project

创建项目输出

选中想要安装的服务

进行自定义操作

添加安装自定义操作

添加卸载自定义操作(与添加安装操作步骤相同,但在参数设置中加上/u)

配置完成后生成项目,会在安装程序项目目录的Debug文件中找到对应的安装包

2.方式二:通过命令行安装

在Windows系统文件中的.NET目录找到对应Framework版本的InstallUtl.exe文件,后跟编译好的服务.exe文件进行安装。

卸载时在InstallUtl.exe后加参数 /u 即可

亦可通过批处理简化操作

详见:https://www.cnblogs.com/ecouter/p/9337323.html

注:使用该批处理时,请将InstallUtl.exe和自己编写的service.exe放在同一目录下,使用管理员权限运行。

基于C#&.net2.0的windows服务创建与安装的更多相关文章

  1. Windows服务创建及安装

    Windows服务创建及安装http://www.cnblogs.com/tuyile006/archive/2006/11/27/573654.html

  2. .net windows 服务创建、安装、卸载和调试

    原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境 ...

  3. Windows 服务 创建 和 安装 -摘自网络

    What a Windows Service is Enables you to create long-running executable applications that run in the ...

  4. C#-Windows服务创建和运行

    Windows服务创建和运行    适用场景: ASP.Net通常是一个无状态的提供程序,不支持持续运行代码或者定时执行某段代码,所以我们需要构建自己的Windows服务来运行那些定时任务. 项目中需 ...

  5. 关于windows服务的编写/安装/与调试

    前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...

  6. 使用普通Windows服务创建Quartz.Net服务项目

    Quartz.NET 项目地址 http://quartznet.sourceforge.net/ 源码下载地址:Quartz.Net.2.0 首先创建Quartz.Net.2.0解决方案,添加 Wi ...

  7. windows服务创建与管理

    安装windows 服务 C:\Users\chensimin>cd \ C:\>cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 C:\W ...

  8. C# Windows服务创建应用

    创建项目 1.创建windows服务项目 2.右键点击Service1.cs,查看代码, 用于编写操作逻辑代码 3.OnStart函数在启动服务时执行,OnStop函数在停止服务时执行.代码中OnSt ...

  9. C# Windows服务创建安装卸载

    一.创建Windows服务 使用VS创建一个新的windows服务应用程序 创建完成之后 二.相关配置 修改Service1名称为StartService(可以不改,自行选择) 添加安装程序并修改配置 ...

随机推荐

  1. [LeetCode] Masking Personal Information 给个人信息打码

    We are given a personal information string S, which may represent either an email address or a phone ...

  2. 文件访问时间简记(Modify time 和 Change time)

    [root@77-29-68-bx-core]# stat hql.out File: 'hql.out' Size: 13750 Blocks: 32 IO Block: 4096 regular ...

  3. ArcGIS Runtime For Android 100.3天地图不加载问题

    ArcGIS Runtime 100.3 不加载天地图问题 参考这篇帖子:https://community.esri.com/thread/220496-1003-webtiledlayer-can ...

  4. Conda命令指标

    一.Conda相关指令 # 查看当前环境下已安装的包 conda list # 查看某个指定环境的已安装包 conda list -n tensorflow # 查找package信息 conda s ...

  5. js中的观察者模式

    什么事观察者模式: 这是一种创建松散耦合代码的技术.它定义对象间 一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.由主体和观察者组成,主体负责发布事件,同时观察者通过 ...

  6. 算法与数据结构(五) 普利姆与克鲁斯卡尔的最小生成树(Swift版)

    上篇博客我们聊了图的物理存储结构邻接矩阵和邻接链表,然后在此基础上给出了图的深度优先搜索和广度优先搜索.本篇博客就在上一篇博客的基础上进行延伸,也是关于图的.今天博客中主要介绍两种算法,都是关于最小生 ...

  7. [Swift]LeetCode223. 矩形面积 | Rectangle Area

    Find the total area covered by two rectilinear rectangles in a 2D plane. Each rectangle is defined b ...

  8. [Swift]LeetCode620. 有趣的电影 | Not Boring Movies

    SQL架构 Create table If Not Exists cinema (id ), description varchar(), rating , )) Truncate table cin ...

  9. [Swift]LeetCode698. 划分为k个相等的子集 | Partition to K Equal Sum Subsets

    Given an array of integers nums and a positive integer k, find whether it's possible to divide this ...

  10. synchronize 关键字原理

    众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象. 同步静态方法,锁的是当前 Class 对象. 同步块,锁的是 () 中的对象 ...