鉴于广大编程爱好者对此问题的关心,由于我提供的源代码为VC++6.0编写的外部升级程序,现在我把原理描述如下,不管用哪一种编程工具,原理都是一样的. 1.外部更新程序. A>主程序调用更新升级程序 B>升级程序从网络上下载相关的更新文件,如果下载的更新程序包括主程序,则下载到本地硬盘后更名后保存. C>下载更新完成后,结束主程序,并用下载的新文件替换原来的旧文件. D>替换完成后重新调用主程序,完成此次更新. 2.内部更新程序 此处的内部更新程序是与上面的相比而言的,上面的是调用外部的更新升级程序,,此处只是把更新升级程序模块写在主程序中.不需要调用外部程序. A>主程序下载更新文件,如果更新文件中包含主程序,则把下载的程序更名后保存在本地硬盘. B>此处需要用以一个临时程序文件,放在服务器上下载到本地硬盘.此文件的作用就是更名,内部更新的关键就在这里,此文件是一个临时文件,更新过程完成后需要删除. C>下载完成所有文件后,主程序结束自身进程前调用下载的临时文件,临时文件删除旧主程序后,把下载的新主程序更名,并调用新主程序.调用后结束自身进程. D>新主程序运行时需要删除下载的临时文件.
|