我已经在Windows应用程序的产品工作,在这里,我需要更换服务EXE(安装目录)上层次,所以我不得不停止了服务,并尝试通过给定的代码如何修改它停止后的Windows服务exe文件?
ServiceController service = new ServiceController(servicename);
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped);
Thread.Sleep(10000);
System.IO.File.Copy(application.exe, newapplication.exe, true);
替换的exe
,其抛出的错误如下,
该进程无法访问文件'C:\ Program Files \ Myapp \ application.exe',因为它正在被另一个进程使用。
但我确定我的服务没有任何依赖关系,我找不到在停止后替换服务文件的方式,请帮我解决问题。
都能跟得上。停止服务并更换exe是足够的。 – leppie 2012-07-11 11:45:32
感谢您提供此信息。 .NET隐藏这些底层活动。 – mox 2012-07-11 11:51:16
请留下面向scm的概念,而不是看到,在服务停止后复制粘贴服务文件的主要原因是什么? – Raja 2012-07-11 12:00:33