winform 自动升级遇到的一个问题(关闭主程序问题)
我为我的程序做了一个自动升级功能。主程序为servicepj.exe 升级升级程序为update.exe
当主程序启动时检查服务器的程序版本,如服务器版本比本机新就弹出升级程序提示升级
文件下载完毕后作更新操作,我的操作时这样的:
1,升级程序先检查主程序时候在运行,如果在进程中找到主程序的进程,就关闭它,
Process[] pra = Process.GetProcesses();
foreach (Process pro in pra)
{
if (pro.ProcessName.ToLower().StartsWith("servicepj"))
{
pro.Kill();
pro.Close();
}
}
Thread.Sleep(3000);
2,拷贝下载的新版本的程序到主程序目录(覆盖形式)
File.Copy(Application.StartupPath + @"\tmp\新文件", Application.StartupPath + "\\新文件" ), true);
问题就出在上面这句,会提示主程序由另一进程正在调用,无法操作。
请高手指点!