基于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(可以不改,自行选择) 添加安装程序并修改配置 ...
随机推荐
- Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签
写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Docum ...
- Conda命令指标
一.Conda相关指令 # 查看当前环境下已安装的包 conda list # 查看某个指定环境的已安装包 conda list -n tensorflow # 查找package信息 conda s ...
- SEED实验——return-to-libc实验
实验概述 本实验的学习目标是让学生获得缓冲区溢出攻击的一种有趣变体——return-to-libc攻击实验的亲身体验.这种攻击可以绕过目前在主要linux操作系统中实现的现有保护方案.利用缓冲区溢出漏 ...
- 通过ffi在node.js中调用动态链接库[转]
http://blog.csdn.net/zhulin2609/article/details/51474676
- C++或C#调用外部exe的分析
假如有个外部程序名为A.exe,放在目录E:\temp\下,然后我们用C++或者C#写一个程序调用这个A.exe的话(假设这个调用者所在的路径在D:\invoke),通常会采用下面的代码: // C# ...
- PHP 点阵5*7字体
效果: 源码: <?php // standard ascii 5x7 font 纵向取模 // defines ascii characters 0x20-0x7f (32-127) $fon ...
- 吴恩达机器学习笔记52-异常检测的问题动机与高斯分布(Problem Motivation of Anomaly Detection& Gaussian Distribution)
一.问题动机 异常检测(Anomaly detection)问题是机器学习算法的一个常见应用.这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题. 给 ...
- js注入攻击
注入攻击一般指用户输入数据导致页面乃至整个网站.服务器异常的情况. 直接看一个例子: <html> <head> <title>Test</title> ...
- [Swift]LeetCode85. 最大矩形 | Maximal Rectangle
Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and ...
- Java第三次上机随笔
就记录一下新的收获吧~ 1.定点数(BigDecimal) 先区分一下浮点数和定点数: 浮点数(float/double):小数点可以任意浮动,称为浮点表示法 定点数(BigDecimal):一种数约 ...