杀毒手的跨版本升级方式探索。

随着杀毒手的版本越来越多,因此各版本之间如何平滑升级是我们必须考虑的问题。

1·从2.3版本,程序每次启动时都会强制更新index.dll,即“更新组件”。
因此,“最新的更新组件+完整的update.ini”,可以让2.3开始的版本可以平滑升级,包括跨版本升级。
不过,需要注意的是这个“完整的update.ini”,“完整”是指,当前最新版本里应该“完整”地包括哪些内容,而非“需要更新的内容”。如果是后者,跨版本升级就会出现问题。

2·对于2.3以前的版本,我建议使用“一个版本,一个update.ini”的方式来保证跨版本升级。
杀毒手目前流传在外的版本有1.53和2.0,如何让这两个版本平滑升级到2.3?
(1)2.0—>2.3:
维护一个update20.ini,确保2.0的版本能更新到2.3的index.dll,其他组件可不考虑;而2.3的index.dll指向新的更新源update23.ini,用来更新其他组件至最新版本。

(2)1.53—>2.3:
首先保证1.53能升级到2.0,更新到2.0后,重复(1),即可更新到2.3。
1.53—>2.0的更新同样采用“专属update.ini”的方式,确保1.53的index.dll能更新到2.0的index.dll

3·不过这样就带来一个问题,因为1.53和2.0已经流传在外了,也就是说,他们的更新源已经固定了,怎么来为他们配置“专属update.ini”?
这里只能说我们运气好了,幸好目前只流传两个版本,最新版本是2.0,所以说,需要升级的只有1.53,那么1.53肯定能升级到2.0的index.dll,所以,如果要保证1.53能平滑升级到2.3,只要现在更新一下2.0的index.dll,更改其的更新源,不等于1.53升级到2.0的更新源,且不等于2.3的index.dll的更新源

4·因此保证(1)和(2)都成功,只要现在发布一个新的版本,让2.0的index.dll指向一个新的更新源A,2.3的index.dll也指向一个新的更新源B

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注