请问下:我用的是auAutoUpgrader来实现自动更新,请问
怎么在升级新版本后将旧版本停用或者如何获取服务器上的版本号?

解决方案 »

  1.   

    通过webservice获得是否需要更新刚好最近也写了一个 ,大概思路如下:1、 启动程序MyApp.exe, 读取进程中是否已经存在多个MyApp.exe的进程,如果存在,则程序正常运行。
    2、 否则,读取MyApp.exe 的版本,通过WebService,把MyApp.exe名称和 版本号,到服务器端检测,是否有新版本程序存在;
    3、 如果没有新版本,则程序正常运行;
    4、 如果存在新版本,则返回有更新版本存在消息,当前系统提示选择是否更新新版本;否,则程序正常运行;
    5、 如选择需要更新,则调用webService把新版MyApp.exe下载到本地(Update.exe相同目录中的update 目录中),注:需要在命名后面加上.new,即  MyApp.exe.new, 下载完成,启动Update.exe程序( 需要把执行程序名MyApp.exe传给Update.exe),杀掉进程中的所有MyApp.exe 进程,删除掉MyApp.exe, 重命名MyApp.exe.new 为MyApp.exe;
    6、 启动MyApp.exe ,关闭Update.exe ;
      

  2.   

    米用过这组件。
    不用第三方控件,自己搞思路都差不多吧,也很简单
    写一个检测版本的checkver.exe,主程序启动后后天调用checkver.exe,checkver.exe如果发现服务器上的版本比主程序的版本新就下载到一个bak目录中后发消息通知主程序,然后继续驻留。主程序收到消息就提示用户新版本下载好了需要重新启动主程序,如果用户点击同意,就发消息给checkver.exe,然后关闭自身。checkver.exe得到消息后等到主程序关闭后复制bak目录中下载的新版本覆盖旧版本,然后checkver.exe启动主程序后关闭自身。
      

  3.   

    自己写,参考http://blog.csdn.net/bdmh/article/details/6120459