CN1168001C - 根据各版本将更新应用于程序和数据文件集合的方法和系统 - Google Patents

根据各版本将更新应用于程序和数据文件集合的方法和系统 Download PDF

Info

Publication number
CN1168001C
CN1168001C CNB011190647A CN01119064A CN1168001C CN 1168001 C CN1168001 C CN 1168001C CN B011190647 A CNB011190647 A CN B011190647A CN 01119064 A CN01119064 A CN 01119064A CN 1168001 C CN1168001 C CN 1168001C
Authority
CN
China
Prior art keywords
installation procedure
file
program
version
update content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB011190647A
Other languages
English (en)
Other versions
CN1326135A (zh
Inventor
����˹��A���µ�˹
布赖斯·A·柯蒂斯
�����-�¶���
吉米·明-德尔·苏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1326135A publication Critical patent/CN1326135A/zh
Application granted granted Critical
Publication of CN1168001C publication Critical patent/CN1168001C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

提供了用于更新软件程序中的代码的方法、系统和部件。在优选实施例中,对程序的多个版本提供修补程序,其中由一个安装程序将该程序更新以及存在安装程序的多个版本。其次,判断安装程序的版本是否不正确。如果是,则根据修补程序的文件更新安装程序。然后使用更新的安装程序将修补程序安装入程序中。

Description

根据各版本将更新应用于 程序和数据文件集合的方法和系统
技术领域
本发明一般涉及计算机软件领域和具体地涉及根据各版本更新程序和数据文件的方法和系统。
背景技术
软件开发是建立计算机中使用的各软件应用程序例如字处理程序、网络浏览器软件或表格处理程序的过程。为建立这些软件应用程序,软件开发商(或编程人员)利用软件开发商的工具包例如可从SunMicrosystems,Inc.得到的Java开发商工具包(JDK)。工具包提供给软件开发商或编程人员一套软件子程序和应用程序的集合,用于帮助编程人员编写和开发软件应用程序和/或建立和维护数据库。例如,工具包可以为图形接口提供用于建立菜单、对话框、字体和图标的工具和库。工具包还提供用于将应用程序连至软件子程序库及将程序与操作环境例如WindowsTM实行连接的装置。Windows是华盛顿州Redmond的微软公司的产品和注册商标。
技术革新和变更的当今步伐比以前任何时候都快。尤其半导体和其他计算机硬件技术的发展每日都在提供更快和更强有力数据处理系统。这些发展为软件开发商提供了新的机会和能力来提供更好和更快的具有更多用户所希望特征的软件应用程序。
为跟上和利用计算机系统中这些技术发展以及跟上或提前于竞争,软件开发商经常更新和修改他们的程序以便增加更多特征和使这些程序运行得更快和更为有效。然而,并非所有数据处理系统都采用相同类型的计算机体系结构,它们也不都采用相同的操作系统。因此,许多应用程序编写成很多版本,每个版本准备用于不同类型的数据处理系统。例如,决定于顾客所拥有计算机的类型,顾客可能购买用于Windows的Quicken或者购买用于MacintoshTM的Quicken。Quicken是一个个人财务管理软件产品,它是加利弗尼亚州Mountain View的Intuit Inc.的注册商标。Macintosh是加利弗尼亚州Cupertino苹果计算机公司的注册商标。
当今,当对一个用于提供对新特征的支持的安装工具包进行更新和修改而该新特征可能对软件应用程序有用时,在应用程序中使用的安装工具包的每个版本必须具有其自己的更新内容,该更新内容是为更新每个应用程序的安装程序而建立的。这是烦琐和费时的,因此很多时候开发商并不在他们的应用程序的一次固定或改进后立即更新应用程序,而是在多次改进之后才进行更新。然而很多时候用户焦急地等待这些变更和改进。因此具有一种用于建立单个更新程序的方法、系统和部件是有利的,该更新程序能够用于更新安装工具包的许多版本并且跨越所有支持的硬件平台和/或操作系统而工作。这一单个更新程序将能使开发商不必再化时间为每个程序版本以及为在其上运行程序的每个硬件平台和操作系统来建立单独的更新程序,因而鼓励更经常地推出更新版本。
发明内容
本发明提供一种用于更新软件安装程序的代码的方法、系统和部件。在程序例如修补程序的优选实施例中,提供了安装程序的多个版本,其中使用一个安装程序来更新程序和存在安装程序的多个版本。其次,判断该安装程序的版本是否不正确。如果该版本是旧的,则根据修补程序中的文件来更新安装程序。然后使用更新的安装程序将修补程序安装入该程序。
依据本发明的一个方面,提供一种用于更新代码的方法,该方法包括:提供对一个程序的多个版本的更新内容,其中通过一个安装程序对该程序进行更新,并且该安装程序具有多个版本;判断安装程序的一个版本相对于该更新内容而言是否不正确;响应于安装程序的该版本不正确的情况,根据更新内容中的文件来更新该安装程序;及使用更新后的安装程序在程序中安装更新内容。
依据本发明的另一方面,提供一种用于更新代码的系统,该系统包括:用于提供对一个程序的多个版本的更新内容的第一装置,其中通过一个安装程序对该程序进行更新,并且该安装程序具有多个版本;用于判断安装程序的一个版本相对于该更新内容而言是否不正确的第二装置;用于响应于安装程序的该版本不正确的情况,根据更新内容中的文件来更新该安装程序的第三装置;及使用更新后的安装程序在程序中安装更新内容的第四装置。
依据本发明的再一方面,提供一种用于在数据处理系统中更新代码的方法,该方法包括:接收对一个程序的更新文件,其中该更新文件包括一个具有多个版本、用以对该程序进行更新的安装程序;判断该安装程序是否是用于该程序的现有安装程序的较新版本;响应于安装程序是现有安装程序的新版本的情况而对现有安装程序进行更新,以形成更新后的安装程序;及使用更新后的安装程序在该程序中安装更新文件中的代码。
依据本发明的再一方面,提供一种用于更新代码的系统,该系统包括:用于接收对一个程序的更新文件的第一装置,其中该更新文件包括一个具有多个版本、用于对该程序进行更新的安装程序;用于判断该安装程序是否是该程序的现有安装程序的较新版本的第二装置;用于响应于安装程序是现有安装程序的新版本的情况而对现有安装程序进行更新以形成更新后的安装程序的第三装置;及使用更新后的安装程序在该程序中安装更新文件中的代码的第四装置。
附图说明
在所附权利要求书中提出了认为有特色的本发明新颖特征。然而,参照附图阅读以下阐述性实施例的详细说明将能很好地理解本发明本身及其优选使用模式、其他目的和优点,附图中:
图1阐述其中可以根据本发明优选实施例来实施本发明的数据处理系统的图形表示;
图2阐述其中可以实施本发明的数据处理系统的框图;
图3阐述根据本发明的用于更新安装文件或程序的方法的框图;及
图4阐述根据本发明的使用安装工具包文件的更新版本来更新安装文件或程序的方法的流程图。
具体实施方式
现在参照附图,具体地参照图1,它是其中可以根据本发明优选实施例来实施本发明的数据处理系统的图形表示。所阐述的个人计算机100包括一个系统单元110、一个视频显示终端102、一个键盘104、可能包括软盘驱动器和其他类型永久性和可卸式存储媒体的存储设备108以及一个例如鼠标的指点部件106。个人计算机100还可能包括本领域普通技术人员熟知的其他附加输入部件。
个人计算机100可以使用任何合适的计算机来实施。虽然所阐述的表示显示了一个个人计算机,但也可以在其他类型数据处理系统中例如主计算机、工作站、网络计算机、因特网电器、掌上计算机等之中实施本发明的其他实施例。
系统单元110包括存储器、中央处理单元、一个或多个I/O单元等。然而,在本发明中系统单元110优选地包含纯理论计算机,它或者用作中央处理单元(CPU)或者用作系统单元中存在的多个CPU中之一。
现在参照图2,该图阐述其中可以实施本发明的数据处理系统的框图。数据处理系统250是计算机的一个例子,例如图1中的个人计算机100。数据处理系统250采用一个外围部件互连(PCI)局部总线体系结构。虽然所阐述例子采用一条PCI总线,也可使用其他总线体系结构,例如微通道和ISA。处理器252和主存储器254通过PCI桥258连至PCI局部总线256。PCI桥258也可包括处理器252的一个集总存储器控制器和高速缓存。可以通过直接部件互连或通过附加板来实现连至PCI局部总线256的附加连接。在所阐述的例子中,局域网(LAN)适配器260、SCSI主总线适配器262和扩展总线接口264通过直接部件连接连至PCI局部总线256。相反,音频适配器266、图形适配器268和音频/视频适配器(A/V)269通过插入扩展槽的附加板连至PCI局部总线266。扩展总线接口264为键盘和鼠标适配器270、调制解调器272和附加存储器274提供连接。SCSI主总线适配器262为所阐述的例子中的硬盘驱动器276、磁带驱动器278和CD-ROM 280提供连接。通常的PCI局部总线的实施将能支持三个或四个PCI扩展槽或附加接插件。
一个操作系统在处理器252上运行,用于对图2中的数据处理系统250内的不同部件进行协调和提供控制。该操作系统可以是市场上供应的操作系统例如BusinessTM的JavaOS或OS/2TM。这些是位于纽约州Armonk的国际商业机器公司的产品的注册商标。JavaOS自网上服务器装载至网络客户中,并且支持Java程序和小应用程序。以下将描述的JavaOS的两个有利于完成对于堆栈展开(unwind)的跟踪的一对特性是JavaOS不支持分页或虚拟存储器。面向对象编程系统例如Java可能与操作系统一起运行,以及可能提供从Java程序或从在数据处理系统250上运行的应用程序对操作系统发出调用。操作系统、面向对象的操作系统和应用程序的指令都位于存储设备上,例如硬盘驱动器276上,并且可以装载至主存储器254内以供处理器252执行。当数据处理系统250用作网络客户时,通常没有硬盘驱动器并且存储器是约束的。
本领域普通技术人员知道图2中的硬件可以随不同实现而不同。例如,其他外围设备例如光盘驱动器等可以在图2中阐述的硬件之外使用或替代它们。所阐述例子并不想对本发明施加体系结构限制。例如,本发明的各过程可以应用于多处理器数据处理系统。
现在参照图3,图中阐述根据本发明的用于更新安装文件的部件的框图。通常当软件开发商编写应用程序例如字处理程序、网络浏览器软件或计算机视频游戏程序时,软件开发商将数据文件压缩为单个较小数据文件以便发送至顾客。许多时候未压缩文件无法包含于单个计算机可读媒体内,例如软盘或CD-ROM内。然而,压缩文件通常足够小,因而能够包含于单个计算机可读媒体内以便发送给顾客,从而降低制造和消费费用两者。此外,如果通过网络例如因特网传送应用程序至顾客,则较小的压缩数据文件的下载时间将小于应用程序的未压缩版本的下载时间。
为正确地将准备安装的应用程序安装于具体平台上,必须包括一个安装程序。通常软件开发商并不开发他们自己的安装程序,而是使用先前已经开发出来的安装工具包,例如Java安装工具包。软件开发商将数以百计的与安装工具包相关联的文件与应用程序本身的文件一起放入一个目录302中。此目录可能包含若干安装文件,例如jfile.class,installer.class,uninstall.class,data.zip和program.class,还包含应用程序文件,例如图3中阐述的应用程序文件1和应用程序文件2。一旦将安装和应用程序文件放入目录302中,就将这些文件压缩(步骤M1),即将它们压缩为通常称为“install.class”的单个自提取安装文件304。
当安装工具包的新版本可用时,将称为“fix.class”的更新修补程序310下载或不然就装载至用户计算机中。修补程序是一个临时的或快速固定程序。修补程序用于更新程序而不是替代整个程序。机器代码或目标代码的一部分可被替代而不是将整个程序进行反汇编。修补程序也可替代应用程序中的整个可执行模块或其他文件。安装工具包的整个新版本可以例如附加或改进对具体操作系统的支持。当用户希望将安装程序例如安装文件304更新时,可以使用具有以下参数的命令行来执行更新修补程序304:
java fix[install.class]-norun
执行修补程序后从安装文件304中提取(步骤M2)各文件并装入目录302中。修补程序然后将目录302中各组文件与更新修补程序310的版本进行比较(步骤M3)以便判断是当今安装文件304具有安装工具包的更为新版本,还是更新修补程序310包含安装工具包的更为新版本。在一个实施例中,可从文件program.class中获得每个安装工具包的版本。在这个实施例中,文件program.class包含用于标示安装文件304内的所有安装工具包文件的版本号的信息。例如,在Java代码中,文件program.class中的一行代码可能包含以下字符串:
String version=“x”
在此字符串中,“version”是一个变量名,用于标示包含于安装文件304内的文件的版本是版本“x”,其中“x”可以是任何字符串。因此,在图3中阐述的例子中,在安装文件304的program.class中的字符串出现如下:
String version=“V1.4”
此字符串行在文件program.class中的位置并不重要。
当然,包含安装文件304所利用的安装工具包的版本号的文件可以具有安装工具包开发商所希望要的任何名称。用于将两个安装工具包的版本进行比较的选代方法是将每个准备获得的文件的版本与fix.class310内的固定文件的版本进行比较,并且将每个文件与其他文件独立地加以更新。
如果安装文件304包含更为新的版本,则从目录302中删除文件并且不采取任何进一步动作。相反,如果安装文件304不包含安装工具包的更为新的版本,即如图3中所阐述,安装文件304是版本V1.4和修补文件包含安装工具包的版本V1.5,则修补文件从fix.class中提取安装工具包(步骤M4),并且将它装入目录302以便使用文件的新版本来改写目录302中的安装工具包文件,从而更新安装文件304(步骤M5)。目录302内更新的文件然后合并为或压缩为新的安装文件308,用于改写先前的安装文件304。然后将目录302中的文件删除以便清理计算机的目录结构,空出磁盘空间和使计算机回至其初始状态,所不同的是具有更新的installer.class 308。
在优选实施例中,更新修补程序310可以将安装文件304的任何数量的版本更新而不管安装程序的版本号多少或该安装文件304准备用于那个平台。相同的fix.class可以更新两种不同安装程序而不必使用中间修补。因此相同的更新修补程序310可以将版本V1.1更新为版本V1.5,以及将安装程序版本V1.3更新为V1.5。此外,并不要求使用fix.class文件将安装程序更新为中间版本,例如自V1.1至V1.4,然后使用第二个fix.class将安装程序的中间版本更新为最后版本,例如自V1.4更新为V1.5。
以上所述命令行参数中的“-norun”标记禁止在完成更新之后运行安装文件308。选代地,“-norun”标记可由“-run”标记替代以便允许在完成更新之后运行安装文件308。
以上所述命令行参数中的[install.class...]标记可以包括目录文件路径和多个安装文件的名称。因此,修补文件310可用于更新计算机中许多不同安装文件。
也可利用以上所给命令行例子以外的其他执行修补文件310的方法。
虽然主要参照java安装工具包进行描述,但本发明也同样可应用于其他编程语言例如C和C++。此外,虽然主要参照对安装程序的安装工具包部分的更新操作进行描述,但本发明也同样可实施于更新应用程序文件以及安装程序内的安装文件。在此情况下,更新程序将不但包含更新的安装工具包文件,而且也同样包含更新的应用程序代码和数据文件。本发明也可用于更新任何文件的组合以便反映一个更新的版本。
应该注意到,虽然主要参照将安装程序更新为安装程序的较新版本的操作进行描述,但本发明也可应用于将安装程序或其他文件的组合更新为正确版本,而不是更为新的版本。该正确版本可以是比准备被更新的安装程序版本更旧的安装程序文件版本。例如,安装程序可能包含一个比更新修补程序更为新的安装文件版本,但始终无法正确工作。因此,此例中更新修补程序将其更旧的但却是正确的版本改写入安装程序中,以使安装程序具有安装文件的正确组合。
现在参照图4,图中阐述根据本发明使用安装工具包文件的更新的版本来更新安装文件的示例性方法的流程图。一旦用户收到修补文件例如图3中所示包含更新的文件的更新修补程序310,用户即执行该修补文件。开始时将需要更新的目标安装程序例如图3中所示安装文件304进行去压缩以便提取安装文件,然后将这些文件放入一个空目录中(步骤402)。接着修补文件判断目标安装程序版本的修补版本是否包含安装工具包的更为新的版本(步骤404)。修补文件可以查找单个文件例如以上所述的program.class来完成比较操作。
如果目标安装程序包含相同或更为新的版本,则修补文件不修改所提取的文件,并且判断是否有用户请求运行该安装程序(步骤410)。另一方面,如果修补版本包含安装工具包的更为新的版本,则从修补文件中提取更为新的文件并且将其放入包含旧安装程序文件的目录中以便改写较旧安装程序文件(步骤406)。更新的包括应用程序文件在内的安装程序文件的组合重新包装为自提取安装程序(步骤408)。
其次,修补程序判断用户是否已经请求运行该目标安装程序(步骤410)。如果是,则运行该自提取安装程序。该自提取安装程序规定将应用程序放于何处及调用那些参数。
在运行自提取安装程序之后,或者如果用户没有请求过运行该自提取安装程序,则修补程序判断是否有更多安装程序需要更新(步骤414)。如果没有更多安装程序需要更新,则从自其中提取过安装程序文件的目录中删除这些安装程序文件,并且结束过程。如果还有更多安装程序需要更新,则仍然删除所有安装程序文件从而清理目录(步骤416),同时过程在步骤402处开始使用新的安装程序。
重要的是注意到,虽然已经在全功能数据处理系统的上下文中描述了本发明,但本领域普通技术人员知道本发明的过程能够以计算机可读媒体的指令形式和不同形式加以传送,以及知道不论实际上用于执行传送操作的信号载体的具体类型如何,都能等同地应用本发明。计算机可读媒体的例子包括可记录型媒体,例如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,以及包括传输型媒体例如使用传输形式例如射频和光波传输的数字和模拟通信线路、有线或无线通信线路。计算机可读媒体可以采取编码格式的形式,这些编码格式可以在具体数据处理系统的实际使用中进行解码。
本发明的描述是为了解释和说明目的而不是为了限于所公开的本发明形式。对于本领域普通技术人员而言,许多修改和变动是明显的。选择和说明实施例是为了很好地解释本发明及其实际应用的原理,以及为了使其他本领域普通技术人员理解本发明的不同实施例,而它们的不同变动是适合于所设想的具体用途的。

Claims (26)

1.一种用于更新代码的方法,该方法包括:
提供对一个程序的多个版本的更新内容,其中通过一个安装程序对该程序进行更新,并且该安装程序具有多个版本;
判断安装程序的一个版本相对于该更新内容而言是否不正确;
响应于安装程序的该版本不正确的情况,根据更新内容中的文件来更新该安装程序;及
使用更新后的安装程序在程序中安装更新内容。
2.如权利要求1中所提及的方法,其中作出的安装程序的版本比更新内容更为旧的判断标示安装程序的版本不正确。
3.如权利要求1中所提及的方法,其中作出的安装程序的版本比更新内容更为新的判断标示安装程序的版本不正确。
4.如权利要求1中所提及的方法,其中根据包含于安装程序内的多个文件中的一个文件来确定安装程序的版本。
5.如权利要求1中所提及的方法,其中更新步骤包括:
从安装程序中提取安装程序文件并且写入一个目录中;
以从更新内容中提取出的一个相应的更新文件重写从安装程序中选定的文件;及
将更新后的文件和其余安装程序文件包装为一个更新后的安装程序。
6.如权利要求5中所提及的方法,其中包装步骤包括将更新后的文件和其余安装程序文件压缩以便产生更新的安装程序。
7.如权利要求1中所提及的方法,其中安装程序包括一个安装工具包以及更新内容包括对安装工具包的更新内容。
8.如权利要求1中所提及的方法,其中安装程序和更新内容是用面向对象的编程语言编写的。
9.如权利要求1中所提及的方法,其中安装程序包括一个java安装工具包以及更新内容包括一个对java安装工具包的更新内容。
10.一种用于更新代码的系统,该系统包括:
用于提供对一个程序的多个版本的更新内容的第一装置,其中通过一个安装程序对该程序进行更新,并且该安装程序具有多个版本;
用于判断安装程序的一个版本相对于该更新内容而言是否不正确的第二装置;
用于响应于安装程序的该版本不正确的情况,根据更新内容中的文件来更新该安装程序的第三装置;及
使用更新后的安装程序在程序中安装更新内容的第四装置。
11.如权利要求10中所提及的系统,其中作出的安装程序的版本比更新内容更为旧的判断标示安装程序的版本不正确。
12.如权利要求10中所提及的系统,其中作出的安装程序的版本比更新内容更为新的判断标示安装程序的版本不正确。
13.如权利要求10中所提及的系统,其中根据包含于安装程序内的多个文件中的一个文件来确定安装程序的版本。
14.如权利要求10中所提及的系统,其中第三装置包括:
用于从安装程序中提取安装程序文件并且装入一个目录中的第五装置;
以从更新内容中提取出的一个相应的更新文件重写从安装程序中选定的文件的第六装置;及
用于将更新后的文件和其余安装程序文件包装为更新后的安装程序的第七装置。
15.如权利要求14中所提及的系统,其中第七装置包括将更新的文件和其余安装程序文件压缩以便产生更新的安装程序。
16.如权利要求10中所提及的系统,其中安装程序包括一个安装工具包以及更新内容包括一个对安装工具包的更新内容。
17.如权利要求10中所提及的系统,其中安装程序和更新内容是用面向对象的编程语言编写的。
18.如权利要求10中所提及的系统,其中安装程序包括一个java安装工具包以及更新内容包括一个对java安装工具包的更新内容。
19.一种用于在数据处理系统中更新代码的方法,该方法包括:
接收对一个程序的更新文件,其中该更新文件包括一个具有多个版本、用以对该程序进行更新的安装程序;
判断该安装程序是否是用于该程序的现有安装程序的较新版本;
响应于安装程序是现有安装程序的新版本的情况而对现有安装程序进行更新,以形成更新后的安装程序;及
使用更新后的安装程序在该程序中安装更新文件中的代码。
20.如权利要求19中所提及的方法,其中更新步骤包括从更新的安装程序中提取文件,重写从现有安装程序中提取的相应的较旧文件以形成更新后的文件,以及将更新后的文件重新包装以形成更新后的安装程序。
21.如权利要求19中所提及的方法,其中更新文件、该程序、安装程序、现有安装程序和更新安装程序由面向对象的代码构成。
22.如权利要求21中所提及的方法,其中面向对象的代码是java。
23.一种用于更新代码的系统,该系统包括:
用于接收对一个程序的更新文件的第一装置,其中该更新文件包括一个具有多个版本、用于对该程序进行更新的安装程序;
用于判断该安装程序是否是该程序的现有安装程序的较新版本的第二装置;
用于响应于安装程序是现有安装程序的新版本的情况而对现有安装程序进行更新以形成更新后的安装程序的第三装置;及
使用更新后的安装程序在该程序中安装更新文件中的代码的第四装置。
24.如权利要求23中所提及的系统,其中第三装置包括从更新的安装程序中提取文件,重写从现有安装程序中提取的相应的较旧文件以形成更新后的文件,以及将更新后的文件重新包装以形成更新后的安装程序。
25.如权利要求23中所提及的系统,其中更新文件、该程序、安装程序、现有安装程序和更新安装程序由面向对象的代码构成。
26.如权利要求25中所提及的系统,其中面向对象的代码是java。
CNB011190647A 2000-05-25 2001-05-24 根据各版本将更新应用于程序和数据文件集合的方法和系统 Expired - Lifetime CN1168001C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/578,750 US6912711B1 (en) 2000-05-25 2000-05-25 Method of applying an update to a contained collection of program and data files based upon versions
US09/578,750 2000-05-25

Publications (2)

Publication Number Publication Date
CN1326135A CN1326135A (zh) 2001-12-12
CN1168001C true CN1168001C (zh) 2004-09-22

Family

ID=24314154

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011190647A Expired - Lifetime CN1168001C (zh) 2000-05-25 2001-05-24 根据各版本将更新应用于程序和数据文件集合的方法和系统

Country Status (3)

Country Link
US (1) US6912711B1 (zh)
CN (1) CN1168001C (zh)
TW (1) TWI221582B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442230C (zh) * 2006-08-04 2008-12-10 华为技术有限公司 软件多版本升级的方法及系统

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
CN100426226C (zh) * 2002-08-16 2008-10-15 中兴通讯股份有限公司 单板版本自动装载方法
US7814476B2 (en) * 2002-10-31 2010-10-12 Oracle America, Inc. Systems and methods for updating software
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
US20050066324A1 (en) * 2003-09-22 2005-03-24 Microsoft Corporation Method and system for distributing and installing software
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7562357B2 (en) * 2004-03-08 2009-07-14 Microsoft Corporation Relational database schema version management
US7676448B2 (en) 2004-03-12 2010-03-09 Microsoft Corporation Controlling installation update behaviors on a client computer
US7853609B2 (en) * 2004-03-12 2010-12-14 Microsoft Corporation Update distribution system architecture and method for distributing software
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
CN100356320C (zh) * 2004-12-20 2007-12-19 上海贝尔阿尔卡特股份有限公司 用于选择多版本软件的方法和选择设备
KR101359834B1 (ko) * 2005-10-06 2014-02-07 레드 밴드 리미티드 압축 버전을 포함하는 내용을 업데이트하는 방법 및시스템들
US8869142B2 (en) * 2006-01-27 2014-10-21 Microsoft Corporation Secure content publishing and distribution
US7676565B2 (en) * 2006-01-27 2010-03-09 Microsoft Corporation Light weight software and hardware inventory
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
TW200737002A (en) * 2006-03-30 2007-10-01 Xgi Technology Inc Method for realizing dynamic removing of graphic display device on computer and computer-readable recording medium
US8620817B2 (en) * 2006-09-14 2013-12-31 Flexera Software, Inc. Method and system for creating license management in software applications
TWI416410B (zh) * 2008-04-11 2013-11-21 Hon Hai Prec Ind Co Ltd 可執行文件版本更新系統及方法
KR20100081720A (ko) * 2009-01-07 2010-07-15 삼성전자주식회사 포타 서비스 방법 및 시스템
CN101859250A (zh) * 2009-04-07 2010-10-13 盛趣信息技术(上海)有限公司 网络游戏客户端系统
JP5526668B2 (ja) * 2009-09-09 2014-06-18 株式会社リコー パッケージのインストール対象装置、インストール方法、プログラム
US9417865B2 (en) * 2010-05-28 2016-08-16 Red Hat, Inc. Determining when to update a package manager software
US8589363B2 (en) * 2011-07-19 2013-11-19 Exagrid Systems, Inc. Systems and methods for managing delta version chains
CN102955702B (zh) * 2011-08-23 2016-08-10 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
ITVI20120034A1 (it) * 2012-02-09 2013-08-10 Bentel Security S R L Dispositivo e metodo per la gestione di installazioni elettroniche di edifici
TWI485568B (zh) * 2012-09-19 2015-05-21 Heimavista Inc 資訊交換系統及其交換方法
CN108319463B (zh) 2013-08-13 2021-08-20 华为技术有限公司 一种应用升级方法、装置
JP2015207145A (ja) * 2014-04-21 2015-11-19 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および差分情報生成装置
US9483248B2 (en) * 2014-07-15 2016-11-01 Oracle International Corporation Automatic generation and execution of server update processes
US10162619B1 (en) 2016-02-16 2018-12-25 Amazon Technologies, Inc. Fleet-wide management of software packages
CN107193576A (zh) * 2016-03-15 2017-09-22 阿里巴巴集团控股有限公司 一种移动终端应用程序的更新方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203573A (en) 1987-04-02 1988-10-19 Ibm Data processing network with upgrading of files
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5951639A (en) 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6370686B1 (en) * 1998-09-21 2002-04-09 Microsoft Corporation Method for categorizing and installing selected software components
US6427227B1 (en) * 1999-03-03 2002-07-30 Microsoft Corporation System, method, and computer-readable medium for repairing an application program that has been patched
US6477703B1 (en) * 1999-06-29 2002-11-05 Hewlett-Packard Company Software patch selection tool

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442230C (zh) * 2006-08-04 2008-12-10 华为技术有限公司 软件多版本升级的方法及系统

Also Published As

Publication number Publication date
CN1326135A (zh) 2001-12-12
US6912711B1 (en) 2005-06-28
TWI221582B (en) 2004-10-01

Similar Documents

Publication Publication Date Title
CN1168001C (zh) 根据各版本将更新应用于程序和数据文件集合的方法和系统
EP0938050A2 (en) Modular storage method and apparatus for use with software applications
US5325533A (en) Engineering system for modeling computer programs
US6854123B1 (en) Method, system, and program for mapping standard application program interfaces (APIs) to user interface APIs
US6378127B1 (en) Software installation and validation using custom actions
US6601236B1 (en) Cross platform program installation on drives using drive object
EP1021762B1 (en) Program-interface converter for multiple-platform computers
US5870587A (en) Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface
US7310801B2 (en) Servicing a component-based software product throughout the software product lifecycle
US5519866A (en) Method and apparatus of incrementally linking components of a modeled computer program
US6757893B1 (en) Version control system for software code
JP5663006B2 (ja) ランタイム環境を構築するためのシステムおよび方法
US6223345B1 (en) System and method for building client and server application packages
CA2329522C (en) Patching rebased and realigned executable files
EP0421623A2 (en) Portable and dynamic distributed applications architecture
US6941520B1 (en) Method, system, and program for using a user interface program to generate a user interface for an application program
JP2005531066A (ja) ソフトウェア・アトマイゼーション用のビュー
JP2005182790A (ja) 自己記述型ソフトウェアイメージ更新コンポーネント
CN1193775A (zh) 软只读存储器
US6507948B1 (en) Method, system, and program for generating batch files
JP2003526154A (ja) 仮想記憶管理プログラムを有していないデータ処理装置にクラスをプレロードするためのシステム及び方法
EP0784265A2 (en) Method and system of dynamically moving objects between heterogeneous execution environments
US6592628B1 (en) Modular storage method and apparatus for use with software applications
US6336216B1 (en) Objects oriented programming system with objects for storing compressed data files and self-extracting the data files
US6610103B2 (en) Method for providing precise cumulative updates and fixes to a software product

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20040922

CX01 Expiry of patent term