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应用程序来管理我们的服务,为软件实施人员提供非常大的帮助。

  • 相关阅读:
    【Coursera】Third Week(2)
    【TCP/IP详解 卷一:协议】第二章:链路层
    【Coursera】Third Week(1)
    【Coursera】SecondWeek(2)
    【Coursera】SecondWeek(1)
    【Coursera】History: Dawn of Electronic Computing学后小结
    【TCP/IP详解 卷一:协议】第一章概论 学习笔记
    NS3 fifth.cc 拥塞窗口实例
    NS3 利用Gnuplot生成拥塞窗口例子fifth.cc的png图像
    C++小结:迟到的小结和重新起航的故事
  • 原文地址:https://www.cnblogs.com/duanjt/p/5649889.html
Copyright © 2011-2022 走看看