原文:【C#】VS2012+InstallShield2013制作软件更新包

上篇文章介绍了如何使用installshield制作软件的安装包,见地址:http://blog.csdn.net/catshitone/article/details/41700115

这次来介绍一下,当软件有更新时,如何制作一个更新包,自动删除旧软件,安装新软件。

1.首先打开你的安装部署项目。

我的是Setup1.的General Information文件,如我左边圈住的有三个重要的项,如下图。

Product Version:你本次产品的版本号,每次发布新产品,这个的Version号,要增加一下。我上次的版本是1.02,所以这次我设置为1.03.

Product Code:这就是一个guid,相当于产品的唯一识别码,每一次发布新版本,这个就要改变一下,可点击该行右边的{...}按钮进行随机分配。

Upgrade Code:这个是产品的升级码,同一个产品共用一个升级码这里要保持不变。就像所有的vs2010都用的同一个Upgrade Code,每此vs2010有update,它只是改的Product
Code。

2.配置更新设定。

在右面列表选择Upgrade Paths文件,打开后,如下图1所示,在Upgrade Paths上右键,选择New Upgrade Path。然后选择你上一个版本的setup.exe文件,如下图2所示。

(图1)

(图2)

然后,就看到了图3的界面,左边的NewUpgradeEntry1,就是新建的那个。右边的Upgrade Code不要改变,它表示了你整个的软件系列。Min Version和Max Version控制了软件更新的版本区间,在此版本区间内的软件都会被卸载并更新。一般我Min
Version都是选择1.00.0000,表示只要更新所有老版本。你可以把Min选择成1.01,Max选择1.03,则只有1.01-1.03的版本会被更新掉。

(图3)

3.生成新版本

在Setup1上右键重新生成新的setup.exe。安装时就会把旧版本覆盖掉了。

有几个不好理解的地方:

1.如果Product Version和Product Code相同,生成的setup.exe也没有被改动过,则安装两次改软件包的时候会出现什么情况呢?结果如下图:

2.如果其他情况都如我上面1所说,我任何代码和设置都没改动过,只不过又重新生成了一次setup.exe呢?即已经安装了上次生成的setup.exe,这次再安装新生成的setup.exe。结果如下,为什么会出现这种结果,还没弄清楚怎么回事。

3.如果Product Version一样,Product Code随机生成了一个,然后setup.exe也重新生成了,会出现什么结果呢?答案是:什么都不会出现,照样会被覆盖安装。这中结果是由上述的Max Version决定了,因为我测试的时候把Product Version和Max Version设置一样了,如果把Product Version设定为大于Max Version,那会有什么结果?就请读者去尝试一下吧!

By Jim。

最新文章

  1. PRINCE2特征(二)
  2. 第6章 Java类中的方法
  3. java基于socket的简单聊天系统
  4. Derivative of the softmax loss function
  5. 零基础学WEB前端-CSS
  6. 多线线程async与await关键字
  7. 【基础知识】Sql和Ado.Net第12天
  8. Spirng quartz 整合
  9. Java线程池--ThreadPoolExecutor
  10. bzoj 2818: Gcd 歐拉函數
  11. QR码生成原理
  12. Nginx+Php-fpm+MySQL+Redis源码编译安装指南
  13. C语言作业06--结构体&文件
  14. Django中URL有关
  15. 在CentOS 7中搭建Git服务器
  16. 常见的CSS Hack
  17. vs中如何统计整个项目的代码行数
  18. linux指定某非root用户执行开机启动项的方法(gogs git)
  19. 我的Vue之小功能统计
  20. 8.Android_UiAutomator 报告查看

热门文章

  1. Android自己主动检測版本号及自己主动升级
  2. 【54.38%】【BZOJ 4300】绝世好题
  3. Windows 查看硬盘ID(diskpart命令)
  4. 小强的HTML5移动开发之路(45)——汇率计算器【1】
  5. amazeui中css组件、js组件、web组件的区别
  6. TensorFlow 实现深度神经网络 —— Denoising Autoencoder
  7. html 横线的代码
  8. 再续FPGA初心,京微齐力脱胎京微雅格重新起航(700万元天使轮,泰有基金领投,水木基金、臻云创投、泰科源跟投。数千万元Pre-A轮融资,领投方为海康基金)
  9. 使用RpcLite构建SOA/Web服务
  10. sitecore-CMS