zoukankan      html  css  js  c++  java
  • .net下 Windows Service 部署

    创建的Service:WinServiceDemo

    1、建立Windows Service 项目,如MyWinService,编写代码实现你要实现的功能。如下

    view plaincopy to clipboardprint?
    string fileName = @"e:\test\WinService.log";  
       protected override void OnStart(string[] args)  
       {  
         // TODO: 在此处添加代码以启动服务。  
         File.AppendAllText(fileName, "WinServiceDemo已经启动", Encoding.Default);  
       }  
     
       protected override void OnStop()  
       {  
         // TODO: 在此处添加代码以执行停止服务所需的关闭操作。  
         File.AppendAllText(fileName, "WinServiceDemo已经停止", Encoding.Default);  
       }  

    2、右键WinServiceDemo设计页面空白处,选择“属性”,设置ServiceName属性为“WinServiceDemo”,

    3、右键WinServiceDemo设计页面空白处,选择“添加安装程序”,转到“ProjectInstaller 设计”视图,选中“ServiceInstaller1”,设置其ServiceName属性为“WinServiceDemo”,注:必须与第二步中设置的ServiceName一样,否则,打包安装后服务无法正常启动。其余的属性,如Description,displayName,StartType自己看着办。若该项目中有多个服务,需要将Modifiers设置为Public,否则打包安装后服务同样无法正常启动。

    右键单击“ProjectInstaller 设计”视图下的“ServicepProcessInstaller1”,选择属性,咋此可以设置其启动用户Account:LocalSystem

    5、若该项目中有多个服务,如WinServiceDemo和WinService2,还需要修改Programs,

    view plaincopy to clipboardprint?
    static void Main()  
        {  
          ServiceBase[] ServicesToRun;  
          ServicesToRun = new ServiceBase[]   
       {   
        new WinServiceDemo() ,  
            new WinService2()    
     
       };  
          ServiceBase.Run(ServicesToRun);  
        }  
     

    6、添加部署项目,如,WindowsServiceSetUp

    7、右键WindowsServiceSetUp项目,添加--项目输出,将项目选择为要部署的Windows 服务主项目,如“WinServiceDemo”,选择“主输出”,

    8、右键WindowsServiceSetUp项目,视图(view)---自定义操作(Custom Actions),右键单击自定义操作窗口的“自定义操作”,“添加自定义操作”,选择“应用程序文件夹”----“主输出来自......(活动)”,

    9、编译生成便可

  • 相关阅读:
    JAVA EE企业级开发四步走
    区间dp笔记√
    TYVJ P1016 装箱问题
    树状数组的笔记√(hzwer blog)
    忠诚//线段树
    线段树笔记√
    P1005 采药
    超级书架【未完】
    P1082 找朋友
    数字三角形系列
  • 原文地址:https://www.cnblogs.com/blackbean/p/1916375.html
Copyright © 2011-2022 走看看