zoukankan      html  css  js  c++  java
  • C#代码安装、卸载、监控Windows服务

    C#编写Windows服务之后都不可避免的需要安装,卸载等操作。而传统的方式就是通过DOS界面去编写命令,这样的操作方式无疑会增加软件实施人员的工作量,下面就介绍一种简单、高效、快速方便的方式。
    1.安装Windows服务(需引用程序集 System.Configuration.Install)

    using (AssemblyInstaller assemblyInstaller = new AssemblyInstaller())
    {
        assemblyInstaller.UseNewContext = true;
        //获得当前运行程序的路径,如:
        //assemblyInstaller.Path = Assembly.GetExecutingAssembly().Location;
        assemblyInstaller.Path = @"E:ProjectStorageSystem	runk2.0MultiTaskServiceinReleaseMultiTaskService.exe";
        assemblyInstaller.Install(null);
        assemblyInstaller.Commit(null);
    }

    2.卸载Windows服务(需引用程序集 System.Configuration.Install)

    using (AssemblyInstaller assemblyInstaller = new AssemblyInstaller())
    {
        assemblyInstaller.UseNewContext = true;
        //获得当前运行程序的路径,如:
        //assemblyInstaller.Path = Assembly.GetExecutingAssembly().Location;
        assemblyInstaller.Path = @"E:ProjectStorageSystem	runk2.0MultiTaskServiceinReleaseMultiTaskService.exe";
        assemblyInstaller.Uninstall(null);
    }

    3.检测并操作windows服务(需引用程序集 System.ServiceProcess)

    ServiceController[] services = ServiceController.GetServices();
    foreach (var item in services)
    {
        if (item.ServiceName == "MultiTaskService")
        {
            Console.WriteLine("服务名:" + item.ServiceName + ",状态:" + item.Status);
            //此处可以开始服务,停止服务等
            //item.Start();
            //item.Stop();
        }
    }

    涛哥理解:有了上面几段代码,我们就可以自己编写一个Windows应用程序来管理我们的服务,为软件实施人员提供非常大的帮助。

  • 相关阅读:
    angularjs里对JS的lowercase和uppercase的完善
    UVA
    UVA
    MySQL 8.0X的安装与卸载命令
    回文树(模板+例题)
    UESTC
    UVALive
    BZOJ
    ACM-ICPC 2018 南京赛区网络预赛 I Skr (马拉车+hash去重)或(回文树)
    ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge(状压dp)
  • 原文地址:https://www.cnblogs.com/duanjt/p/5649889.html
Copyright © 2011-2022 走看看