要求:在網上找了個更新的exe文件。現期望達到的效果時:運行程序時先用更新文件(exe)檢查並更新程序,在程序更新完後再啟動主窗體。有代碼更佳!
謝謝!

解决方案 »

  1.   

    1.
    部署的时候,增加一个update.exe,该程序用于检测是否有新版,如果有,下载,然后update.exe中止旧的exe程序,再将最新的exe覆盖旧的exe。再启动已经更新的exe,结果update.exe.2.
    直接用旧的exe检测更新,并下载最新的文件到临时文件夹。启动临时文件夹中的新exe,然后旧的exe关闭。新的exe将自己复制到旧的exe目录下以覆盖旧exe。然后启动更新后的exe。临时文件夹的exe关闭。
      

  2.   

    我们的解决方法大致如下:
    private void StartPro()
    {
      //获取版本号
      string thisversion=GetVersion();
      // 与本地存储的版本号进行比较,如果相等则启动程序
      if (thisversion==CurVersion)
      {
          //启动程序,fullpath程序入口点路径
          System.Diagnostics.Process.Start(fullpath,pars);   
      }
      else
      {
          //下载最新程序
          DoDownLoad();
          //启动程序.....
      }
    }
      

  3.   

    System.Diagnostics.Process.Start(Application.StartupPath + "\\AutoUpdate.exe");----啟動更新exe文件。
    不知道這段代碼放在那?是不是放在Application.Run(new frmMain())前面還是其他地方?我識了,但是沒成功!
      

  4.   

    你可以放到PROGRAM 的MAIN代码段中
      

  5.   

    不要修改你的exe。直接新建一个启动管理器exe。安装后每次单击快捷方式都启动这个启动管理器exe就好了。这个启动管理器exe可以这样设计。首先找更新,有更新就下载然后启动安装程序,随后管理器退出以便安装时覆盖所有要更新的exe和dll。如果没有找到更新,管理器通过Process.Start启动主程序,随后自己退出。
      

  6.   

    可以写一个BAT文件,用DOS来COPY SERVER:\ CLIENT:\ Y如果相同,就跳过。
      

  7.   

    自动更新的Exe在登陆的时候自动运行,检测有无更新文件,如果有,先把更新文件下载到本地,然后提示关闭正在使用的主程序,接下来运行Update.exe把你的文件更新到应该更新的位置。
      

  8.   

    把版本信息写进注册表,用UPDATE直接比对注册表中的版本号.不同则进行升级,完成后,向注册表导入现在的版本号.