程序自己安装或卸载服务

         /// <summary>

         /// 安装或卸载服务

         /// 版本:    v2.0

         /// 作者:    wenddy112

         /// </summary>

         /// <param name="bInstall">true:安装; false:卸载</param>

         ///

         /// <returns></returns>

         ///

         public static  void InstallServer(bool bInstall)

         {

              try

              {

                   string sFileName = Environment.SystemDirectory;

                   sFileName = sFileName.Substring(0,sFileName.LastIndexOf("//")) + "//Microsoft.NET//Framework//v1.1.4322//installutil.exe";

                   //通过命令行来获取应用程序的名称

                   string [] commendline = Environment.GetCommandLineArgs();

                   string serviceFileName =

                       System.IO.Path.GetFileName(commendline[0]);

 

                   if (!bInstall)serviceFileName = "-u " + serviceFileName;

                   //如果应约程序名称没有扩展名就加上exe的扩展名

                   if (serviceFileName.Length < 4 ||

                       serviceFileName.Substring(serviceFileName.Length-4,4).ToLower() != ".exe")

                   {

                       serviceFileName += ".exe";

                   }

                      

                   FileInfo TheFile = new FileInfo(sFileName);

                   Process myProcess = new Process();

                   if (TheFile.Exists)

                   {

                       myProcess.StartInfo = new ProcessStartInfo(TheFile.FullName,serviceFileName);

                       myProcess.StartInfo.CreateNoWindow = true;

                       //关闭新进程的shell

                       myProcess.StartInfo.UseShellExecute = false;

                       //需要重定向输入流

                       myProcess.StartInfo.RedirectStandardOutput = true;

                       myProcess.Start();

                       //获取进程输出信息并输出

                       StreamReader sr = myProcess.StandardOutput;

                       Console.Write(sr.ReadToEnd());

                   }

                   else

                   {

                       Console.WriteLine("没有发现.NET服务安装文件installutil.exe");

                   }

              }

              catch(Exception ex)

              {

                   Console.WriteLine("调用installutil.exe发生意外!/n错误信息:"+ex.Message);

              }

              Console.ReadLine();

         }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值