我在写一个软件,想给它加上自动升级的功能,想在菜单条上加上一个自动更新,点了之后软件就关闭了,出现自动升级的窗口,向指定的网址获取更新列表(一般为多个程序),之后分别检查本地的文件是否是最新的,如果不是最新的,就自动下载并覆盖,我看了徐景周写的一个自动升级的程序,感觉不是很理想,希望大家可以帮忙,谢谢

解决方案 »

  1.   

    我感觉你就可以利用那个徐景周写的改进一下,只不过有一些函数是要改的,比如读最新文件不是从本地硬盘读的,而应改改成从网络读文件,windows已经有不少相关的函数了。
      

  2.   

    建议你看看这,肯定有收获的
    http://www.codeproject.com/tools/unpatcher.asp
      

  3.   

    就是每次软件启动时,在后台检查你的http服务器,看有没有比当前更新的文件,如果有就自动更新或提示用户是否要更新
    就这样,不可以吗?`
      

  4.   

    比较版本号比较困难(对远程的文件提取版本号),可以比较最后修改时间,更加这点来判断文件的新旧(再加个 强制 下载选项),来解决
    “之后分别检查本地的文件是否是最新的”“现自动升级的窗口,向指定的网址获取更新列表(一般为多个程序”一个传输配置文件,先现在升级程序自己(有可能以后升级程序 40K 不能满足要求了,同时把 新的 下载配置文件 down  下来)更加新的配置文件
    强行关闭指定进程
    下载指定文件
    删除旧文件
    更名
    欢迎最后修改时间启动指定的程序ok支持http代理
    http,ftp 断点续传<?xml version="1.0" encoding="gb2312"?>
    <Softwife>
    <Author>newkey</Author>
    <DlgTitle></DlgTitle>

    <UpdateFile Protocol="Http" DownloadUrl="http://www.softwife.com/update/SmartUp.exe" SavePath="upgrade.exe" ForceDownload="TRUE"/>
    <UpdateList Protocol="Http" DownloadUrl="http://www.softwife.com/update/upgrade.xml" SavePath="upgrade.xml" ForceDownload="TRUE"/>

    <KillProcessList>
    <ProcessName>Notifier.exe</ProcessName>
    <ProcessName>rygl.exe</ProcessName>
    <ProcessName>dwgl.exe</ProcessName>
    </KillProcessList>
    <RestartProcessList>
    <ExeName>Notifier.exe</ExeName>
    </RestartProcessList> <Filelist>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/Global.xml" SavePath="Config\Global.xml" ForceDownload="TRUE"/>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/resource/logo.jpg" SavePath="resource\logo.gif" ForceDownload="TRUE"/>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/rygl.exe" SavePath="rygl.exe" ForceDownload="TRUE"/>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/Notifier.exe" SavePath="Notifier.exe" ForceDownload="TRUE"/>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/MakeTran.exe" SavePath="MakeTran.exe" ForceDownload="TRUE"/>
    <File Protocol="Http" DownloadUrl="http://www.softwife.com/update/DataTransfer.exe" SavePath="DataTransfer.exe" ForceDownload="TRUE"/>
    </Filelist></Softwife>
      

  5.   

    有没有VC的方法?Xml对于我来说用不到啊
      

  6.   

    TO:版主,我也在想这个问题,一起讨论学习。TO:newkey007(无限天空) :能不能给个源程序,供学习。谢谢![email protected]
    QQ:12978503
      

  7.   

    好说,我来发给你,vc的源程序
    我的信箱是:[email protected]
      

  8.   

    http://www.vchelp.net/vchelp/archive.asp?type_id=72&class_id=1&cata_id=13&article_id=1003上去下载一个即可!Good Luck!
      

  9.   

    TO:nbgyf(梅花峰) :你给的徐景周的程序,只是一小点。有没有象金山毒霸或江民杀毒软件的在线升级功能的较为完善升级方案的例子。
      

  10.   

    金山毒霸 多个 网络速度检测功能抓包分析,用 ping 来作的
      

  11.   

    我自己到是做了一个,是用WinSock做的,基本想法是你们一样的,哪位有兴趣,一起讨论,讨论啊
      

  12.   

    可以去这里看一看,免费提供,绝对实用:
    http://www.aslike.net