zoukankan      html  css  js  c++  java
  • 结合MSDN理解windows service 服务安装的三个类。

    servicebase类:

    服务类从此类派生,重写方法。

    一个可执行文件包含多项服务,每项服务包含单独的安装“注册服务类”。服务与日志相关。

    可执行文件的main()函数定义那些服务应该运行。

    服务工作目录是系统目录,而不是可执行文件所在目录。

    启动某服务时,系统将定位相应的可执行文件,并运行该服务的ONSTART()方法,运行服务于运行可执行文件并不相同。
     
    可执行文件仅加载服务。服务则通过“SCM(服务控制器)”访问。也就是大家在系统中-管理工具-服务 。
     
     
    当对服务首次调用开始时,可执行文件调用服务类的派生类的构造函数。构造函数之后立即调用ONstart()方法。
    服务首次加载之后构造函数不会再执行。构造函数和ONSTART()处理要分开。
    
    

    从上文可以看出。我们平常在使用的360.瑞星等软件,每次启动都是启动运行EXE文件调用“启动服务”。

    那么我们为什么都要对软件进行安装那?

    ——————————————————————————————————————————

    软件的安装也是我们通过服务的安装。从一定程度上来说,软件分为两部分“安装”和“运行”。我们先割裂还看,发现服务的安装和运行的关系并不大。

    而我们软件的功能需求 1.首先要搞清楚怎么能让用户简便的安装和卸载咱们的软件。

                                 2.认真写好软件运行时所做的工作。

    安装服务程序类

    serviceInstaller 类:安装服务类

    serviceProcessInstaller:安装服务程序类(服务程序中可以有多个服务。)   Process 程序。方法。的意思。

    代码上这样体现:

       this.Installers.AddRange(new System.Configuration.Install.Installer[] {
                    //服务安装在服务应用程序中。服务程序可以有多个服务。
                this.serviceProcessInstaller1,this.serviceInstaller1});  
     
     
    友情提示:        在服务安装时,容易出现“安装失败”的提示。请到事件查看器中查看具体的错误信息。在服务安装好。在SCM启动服务时,提示错误信息5 拒绝访问。那么有可能是你服务放置的文件夹或盘符的访问权限问题。移动到扩展分区的逻辑分区就好。不要放在主分区。
  • 相关阅读:
    上海最适合拍照的旅游地点
    九款优秀的企业项目协作工具推荐
    九款优秀的企业项目协作工具推荐
    就如何快速免费提高网站排名小结
    就如何快速免费提高网站排名小结
    科博会|人工智能时代的到来
    科博会|人工智能时代的到来
    JS数组去重的6种算法实现
    JS数组去重的6种算法实现
    八款前端开发人员更轻松的实用在线工具
  • 原文地址:https://www.cnblogs.com/mahaisong/p/2149420.html
Copyright © 2011-2022 走看看