所描述的是一种系统和方法,其中,将包括更新的软件映象作为包来提供。该包是自描述的,由此方便了仅替换映象内的组件部分。一软件构建过程将操作系统特征(包括文件、元数据、配置信息等)映射到包,并且为重定位目的处理可执行代码。最终的包包括描述包并传递依赖信息和关于设置优先级的信息(阴影数据)的设备清单文件。
【技术实现步骤摘要】
本专利技术一般涉及计算设备,尤其涉及更新计算设备的非易失存储。
技术介绍
诸如个人数字助理、当代移动电话和手持式及袖珍计算机等移动计算设备正在变为重要且流行的用户工具。一般而言,它们变得足够小,使得它们极度方便,而消耗较少的电池功率,且在同时变得能够运行更强大的应用程序。在制造这类设备的过程中,嵌入式操作系统映象通常被内建到每一设备的单块映象文件中,并储存在非易失存储中(如,NAND或NOR闪存、硬盘等等)。作为结果,更新这一设备有时是必需或期望的。然而,单块操作系统具有众多缺点,包括为安装更新,需要大量的资源(如,临时存储和带宽)来替换整个单块映象。同时,鉴于各种原因,安装操作系统的某些子集组件是一项困难的任务。需要一种方便操作系统映象的某一子集的更新的机制。
技术实现思路
简言之,本专利技术针对一种提供安装和更新包的系统和方法,其中,每一包包括为安装目的被同样处理的一组文件的封装,并且其中,包的格式是自描述的,由此方便了映象的仅组件部分的替换。为此,该系统和方法将操作系统特征(包括文件、元数据、配置信息等)映射到包中,作为软件构建过程的一部分。在一个实现中,包逻辑处理特定文件和/或设置在相关的特征之间共享的情况,其中,用户进而选择来映射到不同的包。给定若干可能的较高级包映射请求,该逻辑一般确保个别文件/设置被映射到正确的包。此外,包可任选地传送依赖信息,并由此提供(通过特征级依赖性规范)了一种包获取依赖信息的机制。逻辑分解了特征级以下的冲突和依赖性。在构建过程中,通过采用用于操作系统映象的二进制映象构造器文件和组件一包映射文件作为输入,创建一构建清单文件。该构建清单文件指定了用于特定包的文件内容。审阅这些文件内容,并且在插入到包之前处理任何可执行代码,以使可执行代码在安装时刻重新定位/修补到设备上。包生成过程基于构建清单和包定义文件中的信息创建设备清单。操作系统映象的注册表被分解,并基于一类似的算法将其分配到包,并且可类似地分解XML文件,并将其分配到特定的包。结果是对每一要构造的包有若干文件,可能包括包定义文件、组件映射文件、组件关系文件、构建清单文件、注册表文件和XML设置文件。从这些文件,包生成过程通过从包创建包集合来构造最终的包文件,包括将每一包映射到包定义、读取该包的构建清单文件及从该数据生成包。对于自描述的包,在包装过程中创建一设备清单文件,并将其储存在包本身之内。该设备清单文件在安装过程中使用。包依赖性和阴影(包设置优先级)数据也是包所附的数据的一部分,如通过将其写入设备清单文件中。当结合附图阅读以下详细描述时,可以清楚其它优点,附图中 附图说明图1是一般表示可结合本专利技术的计算机系统的框图;图2所示是依照本专利技术的一个方面用于构造自描述更新包的各种组件的框图;图3所示是依照本专利技术的一个方面用于从二进制映象文件创建构建清单文件的逻辑的流程图;图4所示是依照本专利技术的一个方面用于从注册表设置创建注册表设置相关文件的逻辑的流程图;图5所示是依照本专利技术的一个方面用于处理将数据从其中写入包内的XML格式文件的逻辑的流程图;图6所示是依照本专利技术的一个方面用于生成包的逻辑的流程图;图7A和7B包括依照本专利技术的一个方面用于创建描述包的设备清单文件的逻辑的流程图;图8所示是依照本专利技术的一个方面由工具(relmerge)执行以插入可执行文件的重定位信息的逻辑的流程图;图9所示是依照本专利技术的一个方面描述包的设备清单文件的格式的框图;图10A和10B包括依照本专利技术的一个方面用于构建描述包的设备清单文件的流程图;以及图11所示是依照本专利技术的一个方面包的创建的流程图。具体实施例方式示例性操作环境图1示出了一个这样的手持式计算设备120的功能组件,包括处理器122、存储器124、显示屏126和键盘128(可以是物理或虚拟键盘,或表示两者)。可存在麦克风129以接收音频输入。存储器124一般包括易失存储器(如,RAM)和非易失存储器(如,ROM、PCMCIA卡等等)。操作系统130驻留在存储器124中,并在处理器122上执行,如微软公司的Windows操作系统或另一操作系统。一个或多个应用程序132被加载到存储器124中(或在ROM中原地执行),并在操作系统130上运行。应用程序的示例包括电子邮件程序、调度程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等等。手持式个人计算机120也可包括加载到存储器124中的通知管理器134,它在处理器122上执行。通知管理器134处理如来自应用程序132的通知请求。同样,如下所述,手持式个人计算机120包括适用于将手持式个人计算机120连接到网络(包括作出电话呼叫)的网络软件136(如,硬件驱动程序等)和网络组件138(如,无线电和天线)。手持式个人计算机120具有电源140,它被实现为一个或多个电池。电源140还可包括忽略内置电池或对其重新充电的外部电源,如AC适配器或加电对接托架。图1所示的示例性手持式个人计算机120被示出为具有三种类型的外部通知机制一个或多个发光二极管(LED)142和音频生成器144。这些设备可直接耦合至电源140,使得当被激活时,即使手持式个人计算机处理器122或其它组件被关闭以保存电池能量时,它们也保留一段由通知机制指示的持续时间。LED 142较佳地不限时间地持亮,直到用户采取行动。注意,音频生成器144的当代版本使用当今手持式个人计算机电池的太多能量,因此它被配置成当系统的剩余部分被关闭时,或者在激活后的一段确定持续时间之后被关闭。注意,尽管示出了基本手持式个人计算机,然而,为实现本专利技术的目的,实际上能够以可由程序使用的某一方式接收数据通信和处理数据的任何设备都是等效的。自描述软件映象更新组件本专利技术一般针对安装和/或更新储存在基于微软WindowsCE.NET的便携式设备等小型移动计算设备上的软件,这些设备包括在其中将初始软件或软件更新写入诸如闪存等嵌入式设备的非易失存储器的那些设备。尽管如此,本专利技术提供了在总体上计算的益处,并由此可应用到其它计算设备和其它类型的存储,包括各种类型的存储器和/或其它类型的存储媒质,如硬盘驱动器。为简化目的,术语“闪存”在后文参考设备的可更新存储来使用,尽管可以理解,任一存储机制都是等效的。此外,术语“映象”一般包括初始软件安装映象以及对该映象的随后的软件更新的概念,即使仅更新该映象的一部分。作为背景,诸如WindowsCE操作系统等当代操作系统是模块化的(组件化的)。然而,包含正确文件和设置的结果映象是单块操作系统映象。为此,在构建时,将特征变量映射到特定的文件和设置,以确定在结果单块操作系统映象中包含了什么内容。执行这一映射的能力利用两种类型的构建时配置文件二进制映象构建器(.bib)和注册表(.reg)文件。.bib文件包含要包括在结果映象中的文件的列表,.reg文件包含要包括在映象中的注册表(设置)信息的列表。这些文件的内容按特征被组合成集合,并以可在构建时可任选地设置的条件变量包装。当在构建时设置条件特征变量时,.bib和.reg文件的关联内容被包括在该映象中,并且由此,系统用户能够在粒度特征级上选择结果映象应当包含什么内容。也向条件变量的选择应用较高级逻辑,使得本文档来自技高网...
【技术保护点】
在计算环境中,一种方法,其特征在于,它包括:构建一包,所述包对应于一操作系统映象的一部分、并包含文件和设置;以及将描述所述包的内容的信息与所述包相关联,使得一安装机制可确定如何将所述包安装到一设备。
【技术特征摘要】
US 2003-12-16 60/530,129;US 2004-5-1 10/837,0241.在计算环境中,一种方法,其特征在于,它包括构建一包,所述包对应于一操作系统映象的一部分、并包含文件和设置;以及将描述所述包的内容的信息与所述包相关联,使得一安装机制可确定如何将所述包安装到一设备。2.如权利要求1所述的方法,其特征在于,与所述包相关联的所述信息包括一设备清单文件,并且所述方法还包括向所述包添加所述设备清单文件。3.如权利要求2所述的方法,其特征在于,它还包括将包括描述所述包的至少部分内容对另一实体的依赖性信息的数据写入所述清单文件中。4.如权利要求3所述的方法,其特征在于,所述其它实体包括另一包,并且所述方法还包括从所述包提取所述设备清单文件,并从所述其它包提取另一设备清单文件。5.如权利要求2所述的方法,其特征在于,它还包括将包括描述设置数据相对于其它设置数据的优先级的阴影信息的数据写入所述设备清单文件中。6.如权利要求1所述的方法,其特征在于,构建包包括确定哪些文件是可执行文件以及在所述可执行文件上执行一重定位过程。7.如权利要求1所述的方法,其特征在于,将描述所述包的内容的信息与所述包相关联包括关联描述所述包的至少部分内容对另一实体的依赖性的依赖性信息。8.如权利要求1所述的方法,其特征在于,将描述所述包的内容的信息与所述包相关联包括关联描述设置数据相对于其它设置数据的优先级的阴影信息。9.如权利要求1所述的方法,其特征在于,它还包括向所述包添加设置信息。10.如权利要求1所述的方法,其特征在于,构建包包括将包映射到该包的定义现有文件的定义上、读取一指定该包的文件内容的构建清单文件、以及基于所述包定义和所述构建清单文件生成所述包。11.如权利要求10所述的方法,其特征在于,它还包括从所述操作系统映象的二进制映象构建器文件和一组件—包映射文件创建所述构建清单文件。12.如权利要求11所述的方法,其特征在于,它还包括处理所述构建清单文件中标识的可执行代码,以使所述可执行代码能够在安装时重定位到一设备。13.如权利要求1所述的方法,其特征在于,构建所述包包括读取一二进制映象构建器文件,其包含在构建时要包括在所述包内的文件的列表。14.如权利要求1所述的方法,其特征在于,构建所述包包括创建一对应于所述二进制映象构建器文件的构建清单文件、以及读取所述构建清单文件。15.如权利要求1所述的...
【专利技术属性】
技术研发人员:B克罗斯,J格劳姆,L麦克內尔,M马克利,S谢尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。