winform安装包升级

之前写过一个自动升级的程序,近期开始投入项目使用,主要提供两种升级方式:

  • 小版本升级:程序改动比较小时采用的升级方式,主要是从服务器下载一些更新文件(如dll文件,txt文件等)覆盖到本地安装目录下。
  • 大版本升级:程序改动比较大时采用的升级方式,直接从服务器下载安装包,然后重新安装,将原来的安装卸载掉。
升级文件和小版本升级,不在本篇文章进行详细描写,暂定下一篇文章。本篇重点在于解决大版本升级问题。

 

背景:制作安装包,未采用第三方软件,直接使用vs2008安装和布署项目自带的功能。

1、Version要大于前一个版本。比如,第一版是1.0.0,则第二版必须大于1.0.0,为1.1.0等.

2、RemovePreviousVersions属性设置为true,在下一版安装时,会自动将之前的版本卸载掉。注意:各个版本的该属性必须相同,否则电脑里会同时存在两个版本。我之前就遇到这个问题,第一个版本的该属性为false,第二个版本的该属性为true,在添加删除程序中可以看到两个版本同时存在,当卸载第一个版本后,然后再启动文件,系统会提示修复版本,完成后才能实现新版本更新。

3、OK,前两个条件都符合了,升级完成,却发现启动后还是旧的系统面貌,新面孔去哪了?于是查看安装目录下的文件,发现只有txt和xml和jpeg文件更新了,其他的dll都没有更新。于是想着应该是因为各个程序集版本号的问题,当程序集的版本号高于前一个版本的程序集的版本号,才会把原有的覆盖掉。 OK,成功。


 

 

posted on 2012-05-04 11:20  WildFlower  阅读(2229)  评论(0编辑  收藏  举报

导航