用C#代码来安装、卸载、启动、关闭服务

/// <summary>
        /// 启动服务
         /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            ServiceController sc = new ServiceController("WindowsService1");
            if (sc.Status.Equals(ServiceControllerStatus.Stopped))
            {
                sc.Start();
            }
        }
        /// <summary>
        /// 停止服务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            ServiceController sc = new ServiceController("MSSQLSERVER");
            if (!sc.Status.Equals(ServiceControllerStatus.Stopped))
            {
                sc.Stop();
            }
        }
        /// <summary>
        /// 安装服务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            if (!isServiceIsExisted("Service1"))
            {                
                string location = System.Reflection.Assembly.GetExecutingAssembly().Location;
                string serviceFileName = location.Substring(0, location.LastIndexOf(‘//‘) + 1) + "WindowsService1.exe";

                InstallmyService(null, serviceFileName);
            }
            else
            {
                MessageBox.Show("系统已经安装了此服务!");
            }
        }
        /// <summary>
        /// 卸载服务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            if (isServiceIsExisted("Service1"))
            {
                string location = System.Reflection.Assembly.GetExecutingAssembly().Location;
                string serviceFileName = location.Substring(0, location.LastIndexOf(‘//‘) + 1) + "WindowsService1.exe";
                UnInstallmyService(serviceFileName);
            }
            else
            {
                MessageBox.Show("系统不存在此服务,不需要卸载!");
            }
        }


        /// <summary>
        /// 检查服务存在的存在性
        /// </summary>
        /// <param name=" NameService ">服务名</param>
        /// <returns>存在返回 true,否则返回 false;</returns>
        public static bool isServiceIsExisted(string NameService)
        {
            ServiceController[] services = ServiceController.GetServices();
            foreach (ServiceController s in services)
            {
                if (s.ServiceName.ToLower() == NameService.ToLower())
                {
                    return true;
                }
            }
            return false;
        }
        /// <summary>
        /// 安装Windows服务
        /// </summary>
        /// <param name="stateSaver">集合</param>
        /// <param name="filepath">程序文件路径</param>
        public static void InstallmyService(IDictionary stateSaver, string filepath)
        {
            AssemblyInstaller AssemblyInstaller1 = new AssemblyInstaller();
            AssemblyInstaller1.UseNewContext = true;
            AssemblyInstaller1.Path = filepath;
            AssemblyInstaller1.Install(stateSaver);
            AssemblyInstaller1.Commit(stateSaver);
            AssemblyInstaller1.Dispose();
        }
        /// <summary>
        /// 卸载Windows服务
        /// </summary>
        /// <param name="filepath">程序文件路径</param>
        public static void UnInstallmyService(string filepath)
        {
            AssemblyInstaller AssemblyInstaller1 = new AssemblyInstaller();
            AssemblyInstaller1.UseNewContext = true;
            AssemblyInstaller1.Path = filepath;
            AssemblyInstaller1.Uninstall(null);
            AssemblyInstaller1.Dispose();
        }

时间: 2024-10-15 11:30:10

用C#代码来安装、卸载、启动、关闭服务的相关文章

supervisord安装,启动/关闭,添加开机自启动服务

centos7安装supervisord #yum -y install supervisor 安装路径/usr/bin/supervisord,配置文件/etc/supervisor.conf 一.手动启动/关闭 supervisor手动启动: #/usr/bin/supervisord -c /etc/supervisor.conf supervisor手动关闭: #/usr/bin/supervisorctl stop all    先关闭supervisor启动脚本,之后再关闭super

redis 安装及启动关闭

1.redis下载 方式1:直接去官网下载 https://redis.io/download 方式2:通过命令下载 wget http://download.redis.io/releases/redis-4.0.1.tar.gz     2.redis安装 解压文件 tar xzf redis-4.0.1.tar.gz 打开解压后的文件夹 cd redis-4.0.1 编译 make 打开src目录 cd src 执行 make install PREFIX=/usr/local/redis

nginx学习与配置-安装与启动关闭管理

nginx服务器的安装 安装准备: nginx依赖于pcre库,要先安装pcre yum install pcre pcre-devel cd /usr/local/src/ wget wget http://nginx.org/download/nginx-1.6.3.tar.gz tar zxvf nginx-1.6.3.tar.gz cd nginx-1.6.3 ./configure --prefix=/data/local/nginx make && make install 这

mysql安装、启动mysql服务、连接本地数据库和远端数据库

因为接了一个公司的项目,得用mysql,特来学习一下~! 一.mysql安装 百度mysql下载一个即可.只是注意一下几个重要的数据: 第一个就是Port Number :3306.端口号默认3306,一般不需要改,如果改了,请记住这个端口号. 第二个就是password:本地数据库密码,默认用户名是root 第三个就是Windows Service Datails:MySQL56,如果修改了请记住.(可以取消Start the MySQL Server at System Startup前面的

BIEE启动关闭服务(转)

一.环境说明 版本:BIEE11g (BIEE_11.1.1.9.0) OS:CentOS 6.5 64bit (所有的linux服务器都适用) 二.BIEE启动与关闭 BIEE11g 的启动包括三个部分:启动WebLogic的AdminServer和ManageServer.启动BIEE核心组件 2.1.启动 启动WebLogic的AdminServer /data/biee/user_projects/domains/bifoundation_domain/bin/startWebLogic

通过批处理进行Windows服务的安装/卸载&amp;启动/停止

安装服务 1 @echo off 2 3 set checked=2 4 set PATHS=%~sdp0 5 6 echo 按任意键执行安装--? 7 pause>nul 8 if %checked% EQU 2 ( 9 %PATHS%InstallUtil.exe %PATHS%WindowsService1.exe 2>&1 10 )else echo 未安装NET Framework 14 pause>nul 卸载服务 1 @echo off 2 3 set checke

【Mongodb教程 第一课 补加课1 】windows7 下安装mongodb 开启关闭服务

mongodb在2.2版本开始就不支持windows xp了(我想现在用xp的应该也是带着情怀的一部分人吧,我只是一个工匠而已),windows下server8 R2,64位,32位,只是32位只支持数据库小于2GB.①检测是多少位的系统(方法不局限于此) 1 wmic os get osarchitecture ②下载mongodb 1 http://www.mongodb.org/downloads ③安装mongodb安装时选择好你所安装的路径,我选择的是D:\mongodb④创建一个数据

C#编写的windows服务安装后启动提示“服务启动后又停止了”

使用C#编写的windows服务安装到服务器上行后进行启动时,总是提示“服务启动后又停止了”. 检查了服务逻辑是没问题,安装在开发本地也是正常,网上查了资料说是可能是服务没有注册,我检查了服务是正常注册,相对应的方法试很多了,但是都没有解决.后来无意中看了一个帖子说可以在windows的本地服务日志里边看报错信息.看到这个,我的问题就有办法处理了,查了一下保存信息,提示找不到“E:\\”,看到这里我就明白是怎么回事了,我的开发机有E盘,服务器上没有E盘,而我的日志文件默认写在E盘,所以服务启动后

Win7下MongoDB的安装及启动

1.下载 在MongoDB的官网下载系统对应的版本(推荐zip格式) 解压到硬盘中,路径如 D:\MongoDB 2.建立目录 在MongoDB根目录下创建data文件夹(与原有的bin目录持平): data内部创建db及log文件夹,分别用于存放数据及日志: PS:文件夹及文件名随意,只需保证第三步中的路径对应即可 3.启动 打开cmd,进入bin文件夹,输入命令: mongod --dbpath E:\MongoDB\data\db --logpath E:\MongoDB\data\log

2017.7.1 mysql安装与启动(已验证可以使用)

之前一直用解压版安装,启动mysql服务的时候总是失败,这次用mysql installer安装一遍,终于成功启动. 1.下载mysql installer 下载的32位的,在64位系统运行也毫无压力. 2.安装 一直点next,直到finish. 3.安装时的配置 安装完后,选择立即开始配置. 选择standard configuration 勾选安装mysql服务并自动启动,并且将其添加到PATH中. 设置root的密码. 4.文件中的配置 找到文件:C:\Program Files (x8