我已經在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