基于C#&.net2.0的windows服务创建与安装
起因:一台服务器中部署的程序,停电后未按照计划任务正常启动。
一、创建并配置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服务创建与安装的更多相关文章
- Windows服务创建及安装
Windows服务创建及安装http://www.cnblogs.com/tuyile006/archive/2006/11/27/573654.html
- .net windows 服务创建、安装、卸载和调试
原文:http://blog.csdn.net/angle860123/article/details/17375895 windows服务应用程序是一种长期运行在操作系统后台的程序,它对于服务器环境 ...
- Windows 服务 创建 和 安装 -摘自网络
What a Windows Service is Enables you to create long-running executable applications that run in the ...
- C#-Windows服务创建和运行
Windows服务创建和运行 适用场景: ASP.Net通常是一个无状态的提供程序,不支持持续运行代码或者定时执行某段代码,所以我们需要构建自己的Windows服务来运行那些定时任务. 项目中需 ...
- 关于windows服务的编写/安装/与调试
前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...
- 使用普通Windows服务创建Quartz.Net服务项目
Quartz.NET 项目地址 http://quartznet.sourceforge.net/ 源码下载地址:Quartz.Net.2.0 首先创建Quartz.Net.2.0解决方案,添加 Wi ...
- windows服务创建与管理
安装windows 服务 C:\Users\chensimin>cd \ C:\>cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 C:\W ...
- C# Windows服务创建应用
创建项目 1.创建windows服务项目 2.右键点击Service1.cs,查看代码, 用于编写操作逻辑代码 3.OnStart函数在启动服务时执行,OnStop函数在停止服务时执行.代码中OnSt ...
- C# Windows服务创建安装卸载
一.创建Windows服务 使用VS创建一个新的windows服务应用程序 创建完成之后 二.相关配置 修改Service1名称为StartService(可以不改,自行选择) 添加安装程序并修改配置 ...
随机推荐
- node02
1.使用已有的知识实现一个简单的登录和注册的界面 请求有请求接口有请求页面的,我们需要加以区分 以下是客户端代码 <!DOCTYPE html> <html lang="e ...
- 4.23 Linux(3)
2019-4-23 19:03:53 买的服务器第三天感觉超爽!! 发现学习Linux超爽,有种操作的快感!!!!!是Windows比不了的!! 阿里巴巴镜像源 : https://opsx.alib ...
- python批量提取eml附件
从批量eml文件中提取附件,使用方式如下 代码如下 import email import os import sys #获取eml附件信息 def Get_Annex_Message(FilePat ...
- Hadoop集群搭建-full完全分布式(三)
环境:Hadoop-2.8.5 .centos7.jdk1.8 一.步骤 1).4台centos虚拟机 2). 将hadoop配置修改为完全分布式 3). 启动完全分布式集群 4). 在完全分布式集群 ...
- nmon监控分析
一.下载软件安装 wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz tar xf nmon_linux_14i ...
- win 10 亮度调节不能使用了
我的解决办法的前提:装过teamviewer ,然后每次系统推送大升级似乎都会无法调节亮度,如果不是这个前提自己找别的办法吧 teamviewer 就是一个流氓软件. 每次更新之后都末名奇妙的不能调节 ...
- Ubuntu部署python3.7的开发和运行环境
Ubuntu部署python3.7的开发和运行环境 1 概述 由于最近项目全部由python2.x转向 python3.x(使用 python3.7.1) ,之前的云主机的的默认python版本都面临 ...
- react-native模拟机调试步骤详解 ——亲测有效!!!!
步骤 1 下载安装夜神模拟器,去夜神官网下载即可!然后安装完成!进入到初始化项目的目录,打开cmd命令,运行adb connect 127.0.0.1:62001 链接模拟器 2 链接完成之后,运行安 ...
- [Swift]LeetCode172. 阶乘后的零 | Factorial Trailing Zeroes
Given an integer n, return the number of trailing zeroes in n!. Example 1: Input: 3 Output: 0 Explan ...
- [Swift]LeetCode753. 破解保险箱 | Cracking the Safe
There is a box protected by a password. The password is n digits, where each letter can be one of th ...