您好,不耽误您的时间,直接描述问题:
  两个独立的程序A,B,A是主程序,B是升级程序
  当我点击主程序A时,这时提示升级窗口,然后启动子进程B进行升级,子进程B启动后,把父进程A(主窗口)关闭,子进程B更新完后,要重新启动更新的父进程A,这时问题出现了,每次启动时都不正常,相应的Socket不能正常接发消息,还有一个问题就是,当我B启动后,正在进行更新时,A已经不存在了,这时双击桌面A时,启动也不正常.多谢指教!!!

解决方案 »

  1.   

    相应的Socket不能正常接发消息
    //确认Socket是否正常。//正在进行更新时,A已经不存在了,这时双击桌面A时,启动也不正常.多谢指教!!!
    //更新时不用删除A,等更新完成后,再检查是否需要删除。更新的文件可以先保存为其他名称
      

  2.   

    问题:
    1.每次启动时都不正常,相应的Socket不能正常接发消息,
    2.当我B启动后,正在进行更新时,A已经不存在了,这时双击桌面A时,启动也不正常
    回答:
    1.检查A关闭时,是否真的断开连接,释放资源等。
    2.我的方案如下:
      A 启动 B, B弹出对话框,让用户关闭A后进行更新。更新时,另外存放新程序。
      B 更新Ok后,用新程序A 覆盖 A。
      另外,可以在A程序中添加检查代码,检查 B是否启动,如果更新程序B已经启动,则提示用户,A不能启动,更新后再启动。以上,由于没有经过实践,只是初步的想法,所以 是否可行,还有待高手指正
      

  3.   

    呵呵,问题解决了,多谢楼上的几位,当主程序更新完后,我没有CreateProcess,而是用WinExec,可以实现自启动了.