【C#】VS2012+InstallShield2013制作软件更新包
原文:【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。
【C#】VS2012+InstallShield2013制作软件更新包的更多相关文章
- IoT固/软件更新及开源选项
会出什么问题呢?大多数这些设备的设计都不像是被恶意攻击的目标. 嵌入式系统传统上被认为是稳定的产品, 但实施起来成本高昂, 因为投资回报率(ROI)在的周期比较长. 在过去一旦发货, 就很少需要更新这 ...
- 【全文转载】Precision Helper:最佳免费 CHM 制作软件
跳至内容 善用佳软 IT义工的个人博客: 善用佳软= (善意+善于)应用优秀软件 xbeta= x(未知数)+β(改进测试版) Precision Helper:最佳免费 CHM 制作软件 许多用户都 ...
- 网易云音乐 歌词制作软件 BesLyric (最新版本下载)
导读 BesLyric , 一款专门制作 网易云音乐 LRC 滚动歌词的软件! 搜索.下载.制作 歌词更方便! 哈哈,喜欢网易云音乐,又愁于制作歌词的童鞋有福啦!Beslyric 为你排忧解难! 本文 ...
- NanoPC-T2制作刷机包
anoPC-T2制作刷机包 前提:到友善的wiki中,仔细看编译uboot.内核.制作刷机包的教程. 准备工作: 1. 虚拟机Ubuntu安装,并安装n多软件可以支撑编译内核等等. 2. 安装交叉编 ...
- Android软件更新安装。
app的开发有一个问题是避免不了的,那就是软件的升级维护. 这里我在查过一些资料和写了一个升级帮助类.使用很方便.直接导入就可以了. ( VersionBean.class为更新地址返回的数据对象,我 ...
- iPhone取消软件更新上边的1
去除设置的更新+1小红点提示主要分为越狱和非越狱设备两种方法. 越狱状态下方法: 首先将你的设备进行越狱: 越狱后安装ifile(这个自行搜索安装): 用ifile打开/System/Library/ ...
- 安卓升级提示 phoneGap APK软件更新提示
以下代码由PHP200 阿杜整理 package com.example.syzx; import java.io.BufferedReader; import java.io.File; imp ...
- NSIS:制作软件升级安装包
原文 NSIS:制作软件升级安装包 相信不是每个人写的软件都只发布一次就可以了,肯定要有修改和维护的情况发生.在这种情况下,您可能就需要一个软件的升级安装包了. 现在,我们就来一步步把这个安装包做 ...
- 大智慧F10离线资料压缩包带F10关键字过滤软件--更新于2014-01-06.rar 184MB
大智慧F10离线资料包带F10关键字过滤软件--更新于2014-01-06.rar 移步到百度网盘下载: http://pan.baidu.com/s/1c01PDnE
随机推荐
- [TypeScript] Create random integers in a given range
Learn how to create random integers using JavaScript / TypeScript. /** * Returns a random int betwee ...
- Java的面向AOP编程
一. 引言 AOP(Aspect-Oriented Programming,面向切面的编程),是一种新型的编程范式,主张关注软件流程中的一个切面,将相同功能的代码整合打包在一起,减少系统的耦合性,增强 ...
- 用JavaScript和CSS实现“在页面中水平和垂直居中”的时钟
思路:实现起来最麻烦的事实上是水平居中和垂直居中,当中垂直居中是最麻烦的. 考虑到浏览器兼容性,网上看了一些资料,发如今页面中垂直居中确实没有什么太好的办法. 于是就採用了position:fixed ...
- 新版Sublime text3注册码被移除的解决办法
Sublime Text是风靡世界的文本编辑器,支持多种编程语言,启动时间短,打开文件速度快,插件丰富,让很多程序员爱不释手.但是,对于未注册的Sublime Text, 经常在保存的时候会弹出一个烦 ...
- Android程序解析XML文件的方法及使用PULL解析XML案例
一.一般解析XML文件的方法有SAX和DOM.PULL (1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信 ...
- Html Vedio标签全屏
http://ask.csdn.net/questions/221701 http://www.zhangxinxu.com/wordpress/2010/03/every-browser-suppo ...
- [Postgres] Filter Data in a Postgres Table with Query Statements
We have all this data, but how do we answer questions about it? In this lesson we’ll learn how to fi ...
- asp.net core2.1 部署centos7/linux系统 -- 安装部署(一)
原文:asp.net core2.1 部署centos7/linux系统 -- 安装部署(一) 1.安装dotnet sdk(添加产品秘钥与yum源) 添加yum源:sudo rpm -Uvh htt ...
- BigDecimal 舍入模式(Rounding mode)介绍
BigDecimal 舍入模式(Rounding mode)介绍 什么样的经历,才能领悟成为架构师? >>> 1 RoundingMode介绍 package java.math ...
- mybatis结合log4j打印SQL日志
mybatis结合log4j打印SQL日志 1.Maven引用jar包 默认的mybatis不能打印出SQL日志,不便于查看调试,须要结合log4jdbc-log4j2就能够完整的输入SQL的调试信息 ...