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

  • 相关阅读:
    outer join,inner join,left join,right join的区别是什么?
    hdu 数值转换
    hdu 4
    hdu
    NET Framework数据提供程序的4种核心对象及其作用
    时间复杂度和空间复杂度
    hdu 1004
    hdu 级数求和
    [记录]微软生成wsdl代理类
    css position:relative 在IE6, 7下有bug
  • 原文地址:https://www.cnblogs.com/duanjt/p/5649889.html
Copyright © 2011-2022 走看看