Windows Service的安装,卸载,启动以及调试

简介:
近段时间在做C#的项目,使用到了Windows Service.项目包括一个Windows Service工程,一个具体的业务处理工程(dll)
以及一个安装工程.现就这几天的使用心得做一下说明.
    1.Windows Service程序与一般程序的区别。
 Windows Service程序不能等同于一般的程序,直接调试或者运行是不起作用的。
    2.Windows Service程序的安装,卸载和启动。
        要想运行一个Windows Service程序,首先必须将这个服务程序安装到Windows服务中去。如何安装,卸载和启动Windows Service程序呢?最常用的有2种方式。
 方式一就是使用framwork自带的InstallUtil命令以及net start命令。
  1) 安装Service: InstallUtil testService.exe
  2) 卸载Service: InstallUtil /u testService.exe
  3) 启动Service: net start "服务名称"(当然最简单的就是手动启动了^_^)
 方式二就是做一个安装工程。
 方式二的最大好处就是通过相关设定,安装完服务后立马注册Windows Service程序到Windows服务中去,下面我们就
 详细说明一下,如何实现这种处理方式。
  1) 为你的Windows Service工程(假设为:testService)添加一个安装工程(假设为:testServiceSetup)。
  2) 右键点击创建的安装工程(testServiceSetup)选择"追加"-->"项目输出",在"添加项目输出组"对话框中选择"主输出",
     在"项目"下拉框中选择需要主输出的服务程序即testService。
  3) 右键点击创建的安装工程(testServiceSetup)选择"视图"-->"自定义操作",右键点击"自定义操作"添加"自定义操作",
     选择应用程序文件夹中的主输出程序testService,此时在以下4个节点(安装,提交,回滚,卸载)中都添加了主输出程序testService。
  4) 编译安装。
 安装完毕后你创建的服务已经添加到Windows服务中去了。
    3.Windows Service调试。
 启动Visual Studio,打开你的testService project.选择菜单"调试->进程"。在进程窗口里附加你的服务程序testService.exe。如果你看不到你的
 testService.exe,请选中"显示所有会话中的进程".这样你才能看到以system账号运行的Service. 如果你已经设置了断点,当Serice运行到你设置的
 断点时,程序就会停下来等待你的调试。(说明:只有Debug模式下编译的testService.exe才可以进行调试)
    4.Onstart()的调试。
 1) 在方法Onstare()里设置System.Timers.Timer,然后用Timer来延迟启动服务。延迟的时间由你进入调试状态的时间来决定。可以设置为5秒。
    当然服务启动后应停止Timer(设置Timer.Enable=false).
 2) 参见前一篇blog(Debugging the OnStart Method)。 
相关文章
|
21天前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
63 32
|
13天前
|
机器学习/深度学习 并行计算 异构计算
WINDOWS安装eiseg遇到的问题和解决方法
通过本文的详细步骤和问题解决方法,希望能帮助你顺利在 Windows 系统上安装和运行 EISeg。
31 2
|
21天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
22天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
49 4
|
1月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
42 11
|
2月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
2月前
|
Windows
安装 Windows Server 2003
安装 Windows Server 2003
|
2月前
|
NoSQL Shell MongoDB
Windows 平台安装 MongoDB
10月更文挑战第10天
56 0
Windows 平台安装 MongoDB
|
2月前
|
Windows Python
Windows安装dlib,遇到问题汇总解决
Windows安装dlib,遇到问题汇总解决
75 4
|
2月前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
65 0