VB程序如何实现更新正在使用的程序?因为我现在做的系统是c/s方式的,更新程序我放在服务器上,下面很多客户端程序,当客户端程序需要更新时,请问如何替换旧的程序?我原来的做法时在执行程序中加入一个FTP下载功能,把下载程序压缩包下载,然后解压,关闭旧的程序,然后再覆盖执行程序,请问能不能做到自已正在执行的程序中加入一个功能可以实现自我(可执行文件)的替换?请各位老师多给建议,谢谢!

解决方案 »

  1.   

    可以模拟tm的升级方式:
    在主exe里面有这个功能: 自动搜寻是否有升级包exe,如果有,则下载,下载完后提示是否运行?
    而升级包exe运行时,就要检查主exe是否在运行中?如果是,则发送关闭消息让其关闭,然后开始升级。。(此时主程序已关闭, 可以用新的来替换)。升级完后提示是否运行主程序?当然上述所有提示的地方都可以改为自动进行而不提示。
    完了。
      

  2.   

    谢谢!请问VB不能自已更新自己吗?
    ----------------------------------
    文件在运行的时候是不能更改文件名的,除非解决这个问题否则只有通过第三方程序实现升级。为什么非要自己更新自己呢?用SetupFactory做一个升级包,上传到服务器,升级时客户端把这个升级包下载到本地来运行不就行了吗?
      

  3.   

    同意homezj(小吉)
    正在执行的exe是不能被替换的
    楼主注意看现在的网络游戏都是怎么样更新的
      

  4.   

    单独写一个更新程序,下载升级包,然后关闭正在运行的程序,用新程序覆盖旧文件即可。==========================
    免费的学习、交流、源码、工具下载网站,欢迎大家访问!
    http://www.j2soft.cn/