控制台程序转化为windows服务
首先我们创建一个控制台应用程序WriteLog,然后添加windows服务LogService

新增的windows服务切换到代码视图,我这边用log4net进行的日志的记录

OnStart方式是服务启动后执行的,OnStop是服务停止后执行的方法。
切换到设计页面,右击添加安装程序

修改serviceInstaller1的属性

- StartType属性值设置为Automatic,这样计算机重新启动时,服务会自动启动。
- Description属性是服务的描述。
- Display属性是服务名称。
修改serviceProcessInstaller1属性
LocalSystem表示本地系统管理员身份

控制台启动项Program类中运行服务
static void Main(string[] args)
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new LogService() //这里的LogService是新增的Windows服务
};
ServiceBase.Run(ServicesToRun);
}
以管理员身份运行以下程序:

切换到cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319(或者C:\Windows\Microsoft.NET\Framework\v2.0.50727)
安装服务:installutil ***(程序路径)

OK,服务添加成功。cmd输入services.msc查看服务

我们启动服务,查看日志是否记录成功。

日志记录成功,服务添加完成。
卸载服务:installutil /u ***(程序路径)
作者:高调的小丑
链接:https://www.jianshu.com/p/2a5410c5bbb1
控制台程序转化为windows服务的更多相关文章
- 控制台程序秒变Windows服务(Topshelf)
项目中有些时候需要写服务,一般我们都是先创建控制台程序,测试,运行,成功之后再创建windows服务程序,这样好麻烦啊,有没有简单的控制台程序直接变成Widnows服务,经过查找,找到了Topshel ...
- 如何将控制台程序包装成windows服务
1. 新建一个项目,或者从选择当前解决方案--右键-添加--新建项目 2. 选择(项目类型)Visual C#项目,(模板)Windows 服务,填写要创建的服务名称(修改默认的WindowServi ...
- Qt5+MSVC2015环境将VS2015编写的控制台程序转化为GUI程序
如题所述,如何将VS2015编写的控制台程序转化为Qt5+MSVC2015环境编译的GUI程序? 最近想到这个操作,类似于Linux下使用的命令行操作转到Windows下使用GUI操作,看了控制台的命 ...
- 将一个应用程序添加做成windows服务
需求来源: 在服务器端运行的一个应用程序,为完成客户端路径分析等功能: 此应用程序只需要运行着就可以,没有界面等要求: 因此,考虑把此应用程序添加到服务器端电脑管理的服务中,可以启动和停止. 这里添加 ...
- 使用instsrv.exe+srvany.exe将应用程序安装为windows服务[转]
转自:http://qingmu.blog.51cto.com/4571483/1248649 一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany ...
- 使用wrapper将java程序注册程windows服务后不生效
使用wrapper将java程序注册程windows服务后不生效 使用add.bat或test***.bat测试通过了, 然后使用install***.bat注册后cmd显示注册成功. 但是程序到了运 ...
- C#判断程序是由Windows服务启动还是用户启动
在Windows系统做网络开发,很多时候都是使用Windows服务的模式,但在调度阶段,我们更多的是使用控制台的模式.在开发程序的时候,我们在Program的Main入口进行判断.最初开始使用Envi ...
- 使用srvany.exe把程序安装成windows服务的方法
http://mazhihui.iteye.com/blog/1294431 srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的 ...
- 使用srvany.exe将程序安装成windows服务的详细教程
srvany.exe介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行.也就是说srva ...
随机推荐
- python一些实用的小工具
1 搭一个简易的本地局域网 python -m http.server 2 获取当前目录下的所有文件名 3 进度条效果 import sys,time for i in range(50): sy ...
- ubuntu中防火墙iptables配置
特别说明:此文章完全转载于https://www.cnblogs.com/EasonJim/p/6851007.html 1.查看系统是否安装防火墙 root@localhost:/usr# whic ...
- getLocation需要在app.json中声明permission字段,解决办法
具体开发方法如下: 在 app.json 里面增加 permission 属性配置(小游戏需在game.json中配置): "permission": { "scope. ...
- class的三元表达式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux信号使用及自定义信号
linux自定义信号:https://www.cnblogs.com/bigben0123/p/3186661.html linux信号.值及解释:https://blog.csdn.net/luot ...
- 网络爬虫requests-bs4-re-1
最近了解了爬虫,嗯--------,有时候会搞得有点头晕. 跟着线上老师实现了两个实例.可以用python下载源代码玩玩,爬淘宝的很刺激,虽然违反了ROBOTS协议. GIT地址
- Dubbo 2.6.0升级到2.7.3
dubbo依赖,修改groupId和升级version版本号 <dependency> <groupId>com.alibaba</groupId> <art ...
- angular 中如何使用自定义组件
1.创建header组件 ng g component components/header header.component.ts import { Component, OnInit } from ...
- Eclipse整合SSM框架+AOP+全局异常处理
永久有效 链接: https://pan.baidu.com/s/1FlSP3a4Px05j3bB_miCOPQ 提取码: aa8w
- Linux -- 管理锁争用(翻译)
在多线程应用中,程序员会使用互斥锁(mutex)来同步线程进入可访问共享资源的代码区域的行为.受这些锁保护的代码区域被称为关键代码段(Critical Section).如果关键代码段中已存在一个线程 ...