程序在线升级时候删除主程序中.exe 为什么删除不掉

removeLove 2011-10-10 03:39:18
我把主程序
Process[] pros = Process.GetProcesses();
for (int i = 0; i < pros.Length; i++)
{
if (pros[i].ProcessName == "MyGame")
{
pros[i].Kill();
}
}
在执行
if (File.Exists(destFileName))
{
try
{
File.Delete(destFileName);
}
catch (Exception ex)
{

Console.WriteLine(ex.Message);
}

}
出错了报告“对路径“D:\vss\MyGame\MyGame\bin\Release\MyGame.exe”的访问被拒绝。”
...全文
73 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
removeLove 2011-10-10
  • 打赏
  • 举报
回复
是啊,所有就不行了,我按照3楼的意思,加了一个外壳!
idaydayup 2011-10-10
  • 打赏
  • 举报
回复
升级程序update.exe
主程序 main.exe
main启动时调用update.exe,然后你的代码肯定是写在update里边的
huang_wenwei 2011-10-10
  • 打赏
  • 举报
回复
很不错 。。
removeLove 2011-10-10
  • 打赏
  • 举报
回复
3楼大师给俺指教下吧,俺是雏鸟
removeLove 2011-10-10
  • 打赏
  • 举报
回复
确定不适用了,就点登录时候判断本版本好,如果要执行升级就杀掉了,执行升级.exe了
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hbxtlhx 的回复:]

给程序做一个外壳,用外壳启动程序,外壳启动的时候可以去检查更新的程序,有新的程序的时候把主程序删除、替换,然后再启动主程序。这样就没有了删除不掉的情况。
[/Quote]
好点子
北京的雾霾天 2011-10-10
  • 打赏
  • 举报
回复
给程序做一个外壳,用外壳启动程序,外壳启动的时候可以去检查更新的程序,有新的程序的时候把主程序删除、替换,然后再启动主程序。这样就没有了删除不掉的情况。
  • 打赏
  • 举报
回复
以上代码不会写在主程序里吧?!
bdmh 2011-10-10
  • 打赏
  • 举报
回复
确认MyGame.exe不再使用了吗

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧