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

  • 相关阅读:
    部分数据文件损坏的修复处理示例.sql
    使用UPDATE进行编号重排的处理示例.sql
    DNS Prefetching 技术引入及实现方法
    查找指定节点的所有子节点的示例函数.sql
    特殊的交叉报表处理示例.sql
    定时备份FTP+Mysql到云服务器
    cPanel下安装GodaddySSL教程
    移动节点处理的通用存储过程.sql
    应用程序角色使用示例.sql
    文件及文件组备份与还原示例.sql
  • 原文地址:https://www.cnblogs.com/duanjt/p/5649889.html
Copyright © 2011-2022 走看看