InstallSield更新包快速入门文档----感谢原作者ㄣ齊¨彡仯乄的无私提供

本文经原作者ㄣ齊¨彡仯乄特许授权于海洋女神发布,转载请务必注明出处与链接;原作者ㄣ齊¨彡仯乄和海洋女神保留对该文的一切法律许可下的权益;需要发布在盈利性报刊、网站等请与原作者ㄣ齊¨彡仯乄或海洋女神联系.

简述

本文主要描述安装程序更新包的创建

制作更新包的主要属性

在给出升级包类型之前,首先说明几个概念:

1、Package code:从字面上理解就是包的代码,在IS中每构建一个包的时候都会给其赋予一个package code,而且是唯一的。

2、ProductVersion:产品版本,当将开发过后的系统文件打包为一个.exe文件(或者CD—ROM格式包)后,就成为发布产品并可以进行上线使用了。那么product version就成了区分产品版本新旧的主要依据。

3、ProductCode:产品代码,当你创建一个IS的object,IS会为你的工程分配一个产品代码,帮助文档中说明:MSI认为具有不同ProductCode的两个产品是不相干的。个人观点是其实Windows是不推荐相同的产品软件在系统上重复安装的,这个属性也是我们更新包查找早期版本的一个重要的依据。

4、UpgradeCode:升级代码,从字面上看这个属性好像和我们的升级包关系很密切,但是事实上我们在制作升级包的时候,一般是不会改动UpgradeCode这个属性的。帮助文档上介绍说,MSI认为如果UpgradeCode相同,那么就是同一系列的产品,即文档中提到的“family”。

升级包的主要类型

对于InstallSield2010版本来说,帮助文档中给出一下几种升级包的类型:

Major Upgrade(主要升级):既然是主要升级,那么就是说我们的更新级别很高,对产品功能上做了很大的改动,这种情况下我们只能用MajorUpgrade对产品进行升级。还有一种情况是,如果用户群体的产品版本不统一,比如说有用1.1的,有用1.2的,还有用2.0的,用户群体想用一个统一版本的更新包将不同的版本更新至最新,那么我们也只能采取MajorUpgrade这种升级方式了。问题出现了,如果用户的系统没有安装过早期的版本怎么办?MajorUpgrade升级包安装时,如果发现目标系统上以安装过早期版本,那么将对早期的版本进行卸载之后再安装升级包(或者覆盖原版本然后删除不必要的数据),也就是说MajorUpgrade是作为一个完整的安装包来执行的。如果目标系统上不存在早期的版本,那么MajorUpgrade作为一个首次安装软件正常执行安装。

Minor Upgrade(次要升级):次要升级的级别要比主要升级低很多,比如说从1.1更新到1.2,但是我们要保证产品功能结构上不能用变动。如有变动,我们必须采用MajorUpgrade升级方式。次要升级也是作为一个完整的安装包运行的,如果有早期的产品在目标系统上安装过,那么次要升级覆盖式安装。如果没有早期版本,那么安装过程就如首次安装。

Small Upgrade(较小升级)与MinorUpgrade相差不多,级别看实际情况而定。

下面给出常见的几种情况升级级别的选择:

更新需求

Major Upgrade

Minor Upgrade

Small Upgrade

提示

修改MSI包的名称

可以使用

  

是否修改了ProductName

用户可以更新早期版本也可以替换最新版本

可以使用

   

添加一个新的子Feature

可以使用

某些情况

某些情况

如果添加的子Feature中包含的是新的components,三种升级都可以使用,如果包含了已经存在的components,只能使用Major Upgrade

移动或者删除了一个Feature

可以使用

   

在一个新的Feature中添加了新的components

可以使用

可以使用

可以使用

 

在一个已经存在的Feature中添加新的components

可以使用

某些情况

某些情况

如果你的Windows Installer的版本在2.0以后,那么你可以使用Minor 或者SmallUpgrade

移动或者删除一个component

可以使用

   

改变了一个已存在的component的component code

可以使用

   

改变了一个已存在的component的key file

可以使用

   

修改、删除、添加下面任何一种:文件、快捷方式、注册键值

可以使用

可以使用

可以使用

如果文件、快捷方式,或者注册键值不仅属于一个component,而且这个component还被多个Features共享,那么只能使用Major Upgrade

下图说明了不同升级所要修改的code:

 

Package Code

Product Version

ProductCode

Upgrade Code

Small Upgrade

X

   

Minor Upgrade

X

X

  

Major Upgrade

X

X

X

 

以上所述是IS为我们提供的可以作为完整安装包的三种升级,还有一种升级类型叫做升级补丁,升级补丁是作为一个QuickPatch Project创建的,必须指定你要修补的特定的版本。升级补丁主要针对于对文件、键值的增、删、改,如果选择使用升级补丁升级的你的产品,那么此次升级的变动非常的小。

实例演示

一.发布最初版本:

此版本适用于用户首次安装:

包名为:开票子系统.exe

 

image

 

二.发布升级补丁:

安装此补丁前系统中已安装了开票子系统.exe

包名为:开票子系统升级补丁1.01.exe

image

安装说明:升级完成之后安装路径下的grdes50.dll、gregn50.dll两个控件的版本 由5.0.0.7变为了5.5.0.0,实际上是做了覆盖操作。

 

三.基于补丁的升级:

安装此补丁前系统中已将开票子系统.exe升级为开票子系统升级补丁1.01.exe

包名为:开票子系统升级补丁1.02.exe

 

image

安装说明:升级完成之后,安装目录下的rep文件夹下的1001.grf文件被删除。

 

四.较小升级:

安装此升级之前系统中只安装了开票子系统.exe

包名为:开票子系统较小升级1.10.exe

image

 

安装说明:升级完成之后,安装包结构上无任何变化,实际上已经添加了一个空 的Component

 

五.次要升级:

较小升级必须安装在一个完整的安装包之上,所以以上的更新包中只有一、四满足条件,方便起见制作与四中安装包之上。

安装此升级之前将开票子系统.exe已升级为开票子系统较小升级1.10.exe

包名为:开票子系统次要升级1.50.exe

 

image

 

安装说明:在已存在的Feature下新建了一个Component,其中添加了“破解.txt” ,

安装目录rep文件夹下新增了“破解.txt” 。

 

 

六.主要升级:

次要升级与较小升级相同,必须安装在一个完整的安装包之上,方便起见制作与五中安装包之上。

安装此升级之前将开票子系统较小升级1.10.exe已升级为开票子系统次要升级1.50.exe

包名为:开票子系统主要升级2.00.exe

 

image

安装说明:删除了整个Feature,安装目录下整个rep文件夹被删除

转载于:https://www.cnblogs.com/Cindy_weiwei/archive/2010/08/31/1813801.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

太赞了:中文版开源!这或许是最经典的计算机编程教材

全世界只有3.14 % 的人关注了爆炸吧知识转自 AI 科技大本营《Think Python》是很多计算机初学者的不二入门教材,受到广泛好评。该书原作者是美国 Olin 工程学院的教授 Allen B. Downey,目前该书的原版和中文版本都已免费开源。Allen 称,《Thi…

jBPM专家力作——《深入浅出jBPM》

恭喜本书荣登互动网和当当网畅销排行榜!媒体评论 “这是一本全面介绍jBPM的书,从基础知识到实战开发技巧,作者结合其实际项目开发经验,对国内流程的许多特色要求给出了浅显易懂的解决方案。对于想在项目中应用jBPM的初学者&#x…

WeihanLi.Npoi 1.20.0 Released

WeihanLi.Npoi 1.20.0 ReleasedIntroWeihanLi.Npoi 是一个基于 netstandard2.0 的一个 NPOI 扩展库,主要用于导入导出 Excel 以及CSV,支持通过 Fluent API 的方式来支持非常灵活的导入导出配置,详细使用可以参考文档介绍以及项目示例Updates最…

转:Chrome渲染分析之Timeline工具的使用

概述 这个工具真的很强大,Timeline工具栏提供了对于在装载你的Web应用的过程中,时间花费情况的概览,这些应用包括处理DOM事件, 页面布局渲染或者向屏幕绘制元素。Timeline可以通过事件,框架,和实时内存用量3个方面的数…

数学和物理太难?这些动图让你秒懂抽象概念

数学动图△ 从椭圆的一个焦点射出的光线总会通过另一个焦点。△ 真人版。△ 一图看懂正弦、余弦和正切什么意思。△ 圆的面积。△ 如何理解圆的面积和派的关系。△ 勾股定理演示。直角三角形的两条直角边的平方和(两个小正方形的面积),加起来…

java typereference_记录一下jackson中TypeReference的使用

今天在看到项目中有一段代码是将string字符串转化成对象,需要被转化成对象的类加了TypeReference,随即去百度了下。TypeReference是一个抽象类,继承了Comparable接口。里面的Type是一歌接口。贴上代码:mapper.readValue(station.g…

Docker小白到实战之容器数据卷,整理的明明白白

前言上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失。从隔离性的角度来看,数据就应该和容器共存亡&a…

U9在SQL Server上的性能优化经验(转述) — 之 行版本快照

此文根据用友的文档《基于SQL Server 2008构建SOA大型管理软件技术实践》“翻译”而成,非原创。在baidu上看见此文,觉得写的很好,就将原先的PPT细化一下并除去废话。 第二篇部分将的是行版本快照的隔离。 这是PPT上的图片: 图片上…

程序员崩溃的40个瞬间!!!

全世界只有3.14 % 的人关注了爆炸吧知识说到程序员,在外界眼里,他们是掌控代码的大神,他们是改变世界的王者。其实程序员的工作不容易,不信,就来看看程序员崩溃的各种瞬间——01公司实习生找bug02在调试时,…

java web请求字符串处理_java web工作常用技能篇(三)-封装复杂请求对象2

前言:在各类网站论坛上,没有找到与工作比较贴切的技能,所以特此写一些对刚步入工作或者工作中没有重视的技能与问题,各位大牛请及时关闭文章.ps1:文中所有标点都是英文的,看官请不要在意.为了便于平时敲代码,所以中文输入法也默认了英文标点(防止各类因为…

Matlab学习------------带有右键菜单的GUI学习实例

实例步骤: 须要设置UIContextMenu,否则点击右键不显示。 右键点击第一个菜单之后:(在菜单中加入对应的回调函数) function r1_Callback(hObject, eventdata, handles) % hObject handle to r1 (see GCBO) % eventda…

多方位助您快速精准查阅文献和发文章的利器——X-MOL

全世界只有3.14 % 的人关注了爆炸吧知识无论您看文献的习惯是怎样的,X-MOL都有一种为您节省时间的功能:01根据参考文献一键直达全文—— X-MOL文献直达复制文章题录信息(如“PNAS, 2020, 117, 6771-6776”)或DOI, 粘贴到X-MOL首页…

ASP.NET Core端点路由中三种让人困惑的路由函数

早先提及了端点路由app.UseEndpoints, 端点路由强调的是端点和路由,其核心目的是将请求落地点与路由寻址方式解耦。《ASP.NET Core端点路由作用原理》这里面有几个容易混淆的函数•MapControllerRoute•MapDefaultControllerRoute•MapControllers有什么不同&#x…

java 写入环境变量_Java环境变量配置 - import_key的个人空间 - OSCHINA - 中文开源技术交流社区...

Java 环境变量和路径在 Solaris 系统上,必须先设置 JAVA_HOME 和 PATH 环境变量,Sun Management Center 3.6 安装向导、设置向导和 Java 控制台才能正常工作。与此类似,要使 Sun Management Center Java 控制台在 Microsoft Windows 上正常工…

电脑温度检测软件哪个好_实时检测Mac电脑的温度

想要实时检测Mac电脑的温度吗?那就来试试这款Temperature Gauge Pro吧。Temperature Gauge Pro又名为TG Pro,是一款专业的Mac实时温度的软件。这款软件能够帮助大家进行Mac中的风扇控制、温度监控和硬件诊断等功能,帮助大家更好的维护自己电脑…

【转】SQL SERVER 存储过程学习笔记

原文地址:http://www.cnblogs.com/nina-piaoye/archive/2006/09/18/507183.html 将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命…

我一哥们,在东莞和五名女孩被抓了.....

1 人在东莞,与五名女子一起被抓现已失联▼2 羊:我有一句MMP,不知当讲不当讲▼3 这是在上网查下一步应该怎么做?▼4 人生处处是惊喜▼5 看似平平无奇的棉签▼6 陈独秀同学,有话你站在桌子上说▼7 现在的玩具都这…

【成长点滴】对SMART原则的一些粗浅理解

【成长点滴】对SMART原则的一些粗浅理解 以下解释来自百度百科 “所谓SMART原则,即是: S:(Specific) 目标要清晰、明确,让考核者与被考核者能够准确的理解目标;M:(Measurable) 目标要量化,考核时…

太神奇了!使用C#实现自动核验健康码:(2)OCR识别

前言上次太神奇了!使用C#实现自动核验健康码:(1)二维码识别,我们已经实现了识别健康码的颜色,但是健康码的内容不包含时间属性。那么使用图片就可以通过检查,肯定是不合适的。因此,我们还需要读出健康码上方…

bo耳机h5使用说明_真香时刻·性价比大旗——红米AirDots2 TWS真无线耳机体验测评...

TWS真无线耳机经过了这几年的发展,在音质、连接稳定性、易用性等方面都有了长足的发展,价格也从最早的上千元下探到了数百元,真正从发烧玩家的尝鲜设备变成了大众的日常用品。我用过的TWS耳机不下数十个,但即使是如Bose、B&O等…