`
hudeyong926
  • 浏览: 2017215 次
  • 来自: 武汉
社区版块
存档分类
最新评论

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)。 

分享到:
评论

相关推荐

    使用C#代码安装、卸载、启动、停止Service

    在需要安装的项目文件中添加WindowsService项目的引用,在程序集中获取Service.exe的路径,使用 AssemblyInstaller类对service进行安装。在安装时,使用ServiceController判定服务是否存在,如果已存在该service,则...

    C#使用Windows Service的简单教程(创建、安装、卸载、调试)

    前言:Microsoft Windows 服务能够创建在它们...本文就向大家介绍如何运用C#来创建、安装、卸载、调试Windows Service程序。 一、创建Windows服务 1)用VS新建Windows 服务项目 2)默认生成文件包括Program.cs,Servic

    VS2013创建Windows服务与调试服务的图文方法

    c)ServiceName 服务进程名称,安装与卸载服务时的唯一标识。 单击“serviceProcessInstaller1”,在其属性窗口中设置Account帐号方式,建议为LocalService(当然也可以Account属性改为 LocalSystem,这样,不论是以...

    windowsnt 技术内幕

    制作一张网络客户安装启动磁盘 制作安装磁盘组 基于客户的网络管理工具 Windows NT Workstation的网络管理工具 在一个Windows NT Workstation上安装管理工具的系统要求 Windows 95的网络管理工具 在Windows 95上安装...

    精通WindowsAPI 函数 接口 编程实例

    15.4.1 Windows Installer Service 472 15.4.2 msi文件的创建与修改工具orca.exe 474 15.4.3 准备工作 475 15.4.4 编辑表组 475 第16章 设备驱动管理与内核通信 476 16.1 设备管理 476 16.1.1 列举...

    精通Windows.API-函数、接口、编程实例.pdf

    15.4.1 Windows Installer Service 472 15.4.2 msi文件的创建与修改工具orca.exe 474 15.4.3 准备工作 475 15.4.4 编辑表组 475 第16章 设备驱动管理与内核通信 476 16.1 设备管理 476 16.1.1 列举设备...

    windows服务框架

    这是一个windows服务的框架,CusService类为通用框架,只要实现服务主函数和停止寒酸,调用CCusService::...支持以应用程序方式调试启动参数为/d或/debug,安装服务参数为/i或/install,卸载服务参数为/r或/remove

    程序员5个刷题网站-NewLife.Agent:应用程序注册为系统服务,支持Windows/Linux

    支持控制台菜单控制安装、卸载、启动、停止,以及查看状态 支持控制台调试应用,解决Windows服务难以调试的问题 支持健康检测,限制内存、线程数、句柄数,超限时重启应用服务 支持应用服务定时重启,通过配置指定 ...

    WIN XP蓝屏代码大全

    可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用"最后一次正确配置"来启动Windows, 如果这样还是失败, 建议进行修复安装或是重装. 15、0x0000006F:...

    电脑蓝屏对照码

    可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用"最后一次正确配置"来启动Windows, 如果这样还是失败, 建议进行修复安装或是重装. 15、0x0000006F:...

    adb1.0.26包含fastboot.exe

    这一点貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动...

Global site tag (gtag.js) - Google Analytics