【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
随机推荐
- linux 系统升级中的一些配置
1. 关闭IPV6 vi /etc/sysconfig/network NETWORKING_IPV6=no #掉 source /etc/sysconfig/network vi /etc/m ...
- C#+HtmlAgilityPack
C#+HtmlAgilityPack—糗事百科桌面版V2.0 最近在浏览以前自己上传的源码,发现在糗事百科桌面端源码评论区中,有人说现在程序不能用了.查看了一下源码运行情况,发现是正则表达式解析问 ...
- hosts 持续更新 - laod
https://laod.cn/hosts/2017-google-hosts.html 2017 Google hosts 持续更新[更新于:2017-08-22] 4,347 2,367,079 ...
- Linux中vim编辑器莫名下方出现H的问题
在使用vim编辑文件的时候,不知道自己是按了哪个快捷键,导致了,每次编辑文件时,下方命令行出现数字+H的格式命令,使得整个文件没法编辑,强制退出后进入不能解决问题,各种文件的编辑都不行,找不出原因,最 ...
- C# Tuple VS ValueTuple
C# Tuple VS ValueTuple(元组类 VS 值元组) C# 7.0已经出来一段时间了,大家都知道新特性里面有个对元组的优化:ValueTuple.这里利用详尽的例子详解Tuple VS ...
- Winfrom 屏蔽Alt+F4
/// <summary> /// 屏蔽Alt+F4 /// </summary> /// <param name="m">要处理的 Windo ...
- 【BZOJ 1032】 [JSOI2007]祖码Zuma
[题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1032 [题意] [题解] /* 设f[i][j]表示从第i个珠子开始的j个珠子被消除; ...
- 【t012】整理书架
Time Limit: 1 second Memory Limit: 32 MB [问题描述] 小明是一个非常喜欢读书的孩子,他有一个特别的书架,书架上摆放着他买的新书.当他决定要阅读某本图书时,他就 ...
- node与webpack的process.env.NODE_ENV
先看两篇文章 1.前端工程项目的NODE_ENV 2. Node 环境变量 process.env.NODE_ENV 之webpack应用 3.process.env.NODE_ENV 下面全部是在w ...
- 详解Qt,并举例说明动态编译(shared)和静态编译(static)以及debug and release 编译版本区别(可产生静态版的Debug版本,需要把-release 改为 –debug-and-release)
作为初入Qt学习的新人,花了整整一两天时间,对Qt编译版本等问题进行了一步步探索,首先感谢网站博客中文章,开始也不是很明白一些几个问题: 1.Qt版本问题 作为初学者,可能下载时这么多版本,如何选择呢 ...