如题,大家给点建议吧。我现在一点思路都没有。

解决方案 »

  1.   

    自动更新应该是做成多个DLL,通过替换其中某些DLL来达到更新的目的个人观点
      

  2.   

    现在是exe文件和dll文件都要更新。
      

  3.   

    将更文件放入数据库中,用户一登录即查看是否存在更新的文件,存在的话就保存到本地然后更新(可使用.bat批处理文件,先自删除然后拷贝文件)没试验过
      

  4.   

    www.playicq.com上好象有自动更新的源码,对于主程序exe文件,可以单独做一个exe文件来更新
      

  5.   

    我的一般做法是在可执行的程序中定义一个版本号常量,并把这一版本号记录到数据库中。当该可执行程序启动时,第一时间先去数据库检查程序中定义的版本号常量与数据库中是否一致,不一致则启动另一个程序(如:ftp),本程序则立即退出,由另一个程序负责下载最新版本的程序覆盖本程序,您还可以在数据库中记录最新程序的存放路径。
    当程序修改后,需要修改程序中那个版本号常量,并将新程序放到指定位置,最后把数据库相应的程序版本号修改即可。
      

  6.   

    xieguogui() ( ) 信誉:100  2004-09-13 17:14:00  得分: 0  
     
     
       我的一般做法是在可执行的程序中定义一个版本号常量,并把这一版本号记录到数据库中。当该可执行程序启动时,第一时间先去数据库检查程序中定义的版本号常量与数据库中是否一致,不一致则启动另一个程序(如:ftp),本程序则立即退出,由另一个程序负责下载最新版本的程序覆盖本程序,您还可以在数据库中记录最新程序的存放路径。
    当程序修改后,需要修改程序中那个版本号常量,并将新程序放到指定位置,最后把数据库相应的程序版本号修改即可。
      
     
    你的意思是说数据库中保存版本常量,服务器上保存最新的版本号,检查是否一致,不一致关闭本软件——>启动更新程序——>自动下载——>运行更新包——>再启动软件软件可以这样更新。数据库新添加的数据表、视图、存储过程、新增加的字段也可以用脚本来执行。但是修改了表结构的数据——例如创建索引、关键字等,这些就比较麻烦了,因为以往数据可能会有重复的,还是得去人搞定。
      

  7.   

    我也没做过,但我这里有个类似的例子,我可以介绍一下思路。
    在EXE文件里有个版本号。
    在数据库里有个常量,用于保存版本号。
    在指定升级的服务器上建个虚拟目录,里面放的是最新的EXE程序。
    每当运行EXE时就判断版本号是否有数据库中的一至,如不一至就自动下载最新EXE程序升级。
      

  8.   

    我做过一个自动下载的程序,与xieguogui想法类似。只是没有实现动态更新数据表、存储过程和试图的。自动升级表结构、试图如索引,数据表能容易出现问题的。应该提供事物回滚功能,及事件日志。发生错误可以及时恢复。