.Net软件在线升级的原理及实现

一、在线升级所遇到的问题
       软件自动升级编程时要遇到的问题有:
       1. 哪里更新?(Where)
        这是指定软件到何处去更新的问题。如果一个软件有大批量用户,可能需要考虑下载的均衡负载问题。或者服务器的反应速度和下载速度问题,有时我们的更新服务器甚至会因为各种原因出现宕机,如何解决这类问题呢?(本文暂不处理这种情况,仅作问题提出)
       2. 何时更新?(When)
        这是更新的时间策略问题。什么时间更新?程序启动时(即我们的程序运行前)?程序运行时?还是程序关闭时再作检查?还有,是每次运行都作检查还是过一段时间(比如一个月后)再作检查?
       3. 怎样更新?(How)
        这是如何通过编程控制更新的问题。下载所有文件,然后全部替换用户端的所有文件?还是只更新部分文件?怎样检查那些东西需要更新,而哪些东西不用更新呢?
       4. 版本控制?(Version Control)
       如何做到多种版本共存?或者,某台电脑上A用户更新之后而不影响B用户的使用?
       5. 安全问题?(Security)
       万一更新服务器被人仿冒,或者被人恶意修改、删除甚至放置病毒文件让你的用户下载,如何避免这种情况的发生?

二、实现原理(以下待续,今天比较忙,稍后贴上)

三、具体实现

四、源码下载

你可能感兴趣的:(.Net软件在线升级的原理及实现)