一、什么是windows服务

Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会自动开始运行。它们不要用户一定登录才运行,它们能在包括这个系统内的任何用户环境下运行。通过服务控制管理器,Windows服务是可控的,可以终止、暂停及当需要时启动。

本文演示创建一个windows服务的基本步骤,和使用InstallUtil.exe来发布服务,使之运行在机器上。主要功能就是在服务启动和结束的时候记下日志,同时每隔一定时间记录下程序运行日志。

二、创建windows服务的步骤

1.新建项目——windows服务

2.给Service1.cs编写代码

todo... code is here。。。

注意:此处的Timer是Syste.Timers.Timer,而不是System.Windows.Forms.Timer,具体区别请看另一篇文章。

三、安装windows服务前的配置

windows服务不同于通常的windows应用程序,光通过一个简单的exe程序执行是不够的,还需要.Net Framework提供的InstallUtil.exe工具来完成,把程序添加到windows服务中去,这样便于InstallUtil.exe或者其它别的安装程序知道你的服务是怎样配置的。

3.添加windows服务安装程序

1. 将这个服务程序切换到设计视图
2. 右击设计视图选择"添加安装程序"

3. 切换到刚被添加的ProjectInstaller的设计视图
4. 设置serviceInstaller1组件的属性:
1) ServiceName = 我的第一个windows服务
2) StartType = Automatic

5. 设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem

6. 生成解决方案

到此为止,这个服务已经生成,接下来需要用InstallUtil.exe来安装windows服务。

四、使用InstallUtil.exe安装windows服务

1.Win+R打开cmd命令提示行
2.切换目录到项目所在文件夹的bin\debug目录,
3.执行命令 InstallUtil.exe MyWindowsService.exe 来注册这个服务
注意:直接运行InstallUtil.exe可能会失败,提示'InstallUtil.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。 因为系统找不识别这个命令,不过可以在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 目录下找到该工具。
4.右击"我的电脑"——服务列表中就有新建的windows服务了。

转载于:https://www.cnblogs.com/fanyong/archive/2013/03/31/2992549.html

编写并运行windows服务相关推荐

  1. spring boot编写并运行HelloWorld服务接口

    spring boot编写并运行HelloWorld服务接口 在主程序上要加包扫描注解@ComponentScan("com.example.demo1") package com ...

  2. 编写脚本启动windows服务

    系统每次开机总是会启动很多服务,而有些服务并不是必须的,只是在用到的时候才需要启动.但是每次通过"控制面板.管理工具.服务"去一个一个启动服务很不爽,于是就想写一个批处理命令一次启 ...

  3. 以Windows服务方式运行.NET Core程序

    原文:以Windows服务方式运行.NET Core程序 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Wind ...

  4. 使用C# 创建windows 服务

    转自:http://hi.baidu.com/feixu_geer/item/694aaee2d24272226cabb8c9 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是W ...

  5. python 打包成exe 1053_Python Windows服务pyinstaller可执行文件错误1053

    我在 python中编写了一个 Windows服务.如果我从命令提示符运行我的脚本 python runService.py 当我这样做时,服务安装并正确启动.我一直在尝试使用pyinstaller创 ...

  6. 用.NET创建Windows服务

    用.NET创建Windows服务 译者说明:我是通过翻译来学习C#的,文中涉及到的有Visual Studio.NET有关操作,我都根据中文版的VS.NET显示信息来处理的,可以让大家不致有误解. 作 ...

  7. 使用.NET Core创建Windows服务(二) - 使用Topshelf方式

    原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tut ...

  8. 在5分钟内将Spring Boot作为Windows服务启动

    最近,我不得不将Spring Boot应用程序部署为Windows服务,并且对使用winsw如此容易感到惊讶. 我之前曾写过关于使用procrun – Java程序作为Windows服务的文章 ,但是 ...

  9. Windows服务创建及安装

    Windows服务创建及安装 原文:Windows服务创建及安装 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System ...

最新文章

  1. 科研成果汇总:收获的季节
  2. 代码谱写传奇,深度揭秘中国开发者现状!
  3. yii2 behavior 排除某个方法_中学科目二 | 教学方法
  4. 一文看懂神经网络初始化!吴恩达Deeplearning.ai最新干货
  5. C语言浮点数据在内存中的存储方式
  6. Java实现二维数组和稀疏数组的转换
  7. Logistic回归主要应用领域
  8. SpringBootAdmin服务端
  9. Shell脚本语言常用命令总结~
  10. 华为鸿蒙系统学习笔记8-开发者生态建设
  11. ssms脚本生成缓慢_使用SSMS和Azure Data Studio生成数据脚本
  12. Linux虚拟机添加磁盘
  13. OpenCV threshold 二值化
  14. 在Java编程中,为什么char类型数组可以直接用数组名打印,而其他类型数组打印结果而是地址值。
  15. 安卓运行linux命令mux,都能看懂的嵌入式linux/android alsa_aplay alsa_amixer命令行用法...
  16. 【矩阵论笔记】Schmidt正交化、标准正交基
  17. Facebook被封锁后如何申请解除
  18. 【学堂上新】Addressable系统解析及实践经验
  19. springboot - vue-element-admin 整合,修改原有的登录退出
  20. 奥付云荣获2017年度企业级创新应用 Top 50

热门文章

  1. Vmware 中安装Unix
  2. java多线程中注入Spring对象问题
  3. [转]java Socket InputStream 阻塞 问题
  4. 玩转小程序转发——小程序探索
  5. flex 自适应排版中由于数量不够造成的空白
  6. SSO 单点登录解决方案
  7. Vue.js之组件及其易错点
  8. Linux shell的和||
  9. linux 释放cache 内存
  10. Silverlight RIA Servcie 删除子对象实体提交错误的问题[解决]