基于映像的软件安装的制作方法

文档序号:6360925阅读:150来源:国知局
专利名称:基于映像的软件安装的制作方法
技术领域
本发明涉及软件安装领域。更特别地,本发明涉及一种基于映像的软件安装系统和方法。
在一些已有的系统中,软件和操作系统的安装通过检测系统中硬件的信息、复制和解压缩源文件、通过库注册这样的方法来安装这些文件,然后基于用户的输入配置这些安装好的文件来完成。这样的安装过程通常很消耗时间而且很多动作,尤其在安装文件阶段,是与应用程序或操作系统安装上去的系统无关的。对这些已有的系统,检测系统信息、复制和解压缩文件、安装和注册文件,和用户配置需要比较长的时间。这样的系统缺乏一种对多个计算机一起执行一般安装动作的方法。
出于这些原因,需要一种基于映像安装的系统来改正一个或多个这些和其他的缺点。
本发明的软件传输一个与硬件无关的映像并且安装到任何计算机可读媒体。另外,在集成的过程中,其他组件可以被添加或安装到这个映像。这样的组件可以驻留在映像里作为卸载了的对象或可以通过一个网络共享或其他可用的合法统一资源定位符访问。这个软件还提供了软件产品安装的一致性,因为多数失败点已经在加载映像之前创建软件产品时就碰到了。
依照本发明的一个方面,通过一种方法把独立于计算机环境的运行时映像从源计算机可读媒体通过一种或多种计算机可读传输媒体传输到一个目标计算机的一个或多个目标计算机可读媒体上。更特别地,这种方法包括把运行时映像以及一个可执行的安装程序复制到传输媒体。可执行的安装程序,当由目标计算机来执行的时候,加载运行时映像到目标媒体并且集成运行时映像与目标计算机。
依照本发明的另一个方面,通过一种方法把独立于计算机环境的运行时映像从源计算机可读媒体传输到一个目标计算机的一个或多个目标计算机可读媒体上。更特别地,这种方法包括加载运行时映像到目标媒体,并复制一个可执行的安装程序到目标媒体。可执行的安装程序,当由目标计算机来执行的时候,加载运行时映像到目标媒体并且集成运行时映像与目标计算机。
依照本发明的另一个方面,一种计算机可读媒体包括计算机可执行的组件。计算机可执行的组件加载一个独立于计算机环境的运行时映像到一个目标计算机的一个或多个目标计算机可读媒体。组件包括一个供目标计算机使用的运行时映像。组件还包括一个可执行的安装程序,当目标计算机执行这个安装程序的时候,安装程序加载运行时映像到目标媒体并且集成已加载的运行时映像与目标计算机。
依照本发明的另一个方面,一种计算机可读媒体存储一个表示一个或多个集成任务的列表的数据结构。一个目标计算机,包括一个或多个目标计算机可读媒体,执行集成任务来集成独立于计算机环境的运行时映像与目标计算机。这个数据结构包括一个或多个存储计算机可执行指令的数据字段。计算机可执行指令加载运行时映像到目标媒体。计算机可执行指令还确定一个或多个与目标计算机相关的参数。进一步来说,计算机可执行指令集成经确定的参数和运行时映像。
依照本发明的另一个方面,一种计算机可读媒体包括计算机可执行组件。计算机可执行的组件加载一个独立于计算机环境的运行时映像到一个目标计算机的一个或多个目标计算机可读媒体。计算机可执行组件包括一个用来加载运行时映像到目标媒体的映像工具。计算机可执行组件还包括一个用于集成已加载的运行时映像与目标计算机的集成模块。
作为其他选择,本发明可以包括其他不同的方法和装置。在下文中展现部分其他特性,同时由下文部分指出。
图2为流程图,展示从源计算机可读媒体传输运行时映像到目标计算机可读媒体。
图3为方框图,展示映像工具和集成模块之间同源计算机可读媒体和目标计算机可读媒体之间的交互。
图4为方框图,展示存储在计算机可读媒体中的数据结构的内容。
图5为方框图,展示一个在适合的计算系统环境中实现本发明的例子。
对应的标识符号表示附图中对应的部分。
本发明的软件功能改进了已有的安装过程,然而使用存储在计算机可读媒体(CRM)上的软件产品的一个映像而非单个的文件。例如,在一些系统中,安装软件包括复制多个文件到目标计算机,然后注册已安装的文件。注册过程在目标计算机上增加系统设置或创建数据结构。多数的系统设置或创建数据并非计算机相关的。例如,注册example.dll设置三个注册表键(HKLM\SW\US\MyApp∷infol=MyAppName等等)而与安装到什么系统(如目标计算机)或那个系统的配置无关。由于需要花时间处理每个文件,创建注册表键的动作很浪费时间。在本发明中,系统设置或其他数据结构在安装时间之前创建(如在编译应用的时候)。创建出的数据结构与目标计算机已有的数据结构合并。类似地,一个一个地复制一个操作系统或应用程序的文件到目标计算机比在安装的过程中复制单个的映像到本地CRM,然后从映像中一个一个地移动文件到它们在文件系统中适合的位置要慢。进一步来说,和计算机相关的数据(如注册表键KeyFoo=计算机相关的安全标识+“应用程序名称”)在映像过程后重新创建。
通过预先处理软件产品,计算机相关的安装任务与一般的安装任务分开了。例如,一般的安装任务包括,但不仅限于,配置系统设置(如注册表键)和注册软件对象(如注册一个动态链接库)。一般的安装任务在映像或加载软件产品之前进行。计算机相关的任务包括,但不仅限于,基于目标计算机的安全信息(如加密用的密钥)生成计算机相关的设置以及检测硬件。一小部分计算机相关的任务在加载映像之后在目标计算机上进行。总的来说,本发明的软件映像过程带来相对于已有的复制文件、创建注册表项和键、注册软件对象都在目标计算机上进行的安装过程更低的失败率。
首先参考

图1(一个示意的方框图),展示从源CRM 5传输一个运行时映像1到目标计算机35的至少一个目标CRM 40。例如源CRM 5和目标CRM 40为大容量存储设备。在一个实例中,传输通过至少一个传输CRM 20进行。源CRM 5如这里的说明包括操作系统或应用程序或两者的运行时映像1。在一个实例中,传输包括在7复制或传输运行时映像1以及在9复制或传输可执行安装程序10到传输CRM 20。熟悉相关技术的人应理解在7和9的复制可以通过安装、映像或传输与运行时映像1相关的数据和可执行安装程序10来实现。复制7、9在传输CRM 20上创建运行时映像1(如image.img)和可执行安装程序10的一个拷贝(如运行时映像25和可执行安装程序30所示)。传输CRM 20包括,但不仅限于,任何可移动或不可移动CRM如CD-ROM或DVD-ROM。可执行安装程序10、30的功能包括,但不仅限于,访问一个CRM(文件输入/输出)、硬件检测(如加载一个硬件抽象层)、一个最小的用户界面以及用来引导和执行安装程序的软件程序。熟悉相关技术的人应注意可执行安装程序10、30可以有比这里的说明更多或更少的功能并且仍然在发明人要求的发明范围之内。
在一个实例中,传输CRM 20是一个可移动CRM,用户插入带有运行时映像25和可执行安装程序30的传输CRM 20到目标计算机35。目标计算机35可以访问到目标CRM 40。目标计算机35执行可执行安装程序30来配置目标CRM 40(如一个大容量存储设备)。这样通过可执行安装程序10、30、27来配置目标CRM 40提供了磁盘几何结构无关性。即,配置目标CRM 40允许运行时映像1、25、26加载到任何的目标CRM 40格式、分区或其他几何结构。映像过程并不受限于运行时映像1、25、26的格式或几何结构。同样地,发明人主张配置目标CRM 40时允许发明的映像过程加载运行时映像1、25、26到任何现有或将来的CRM格式或文件系统格式。
另外,可执行安装程序30,当执行的时候,加载运行时映像25到目标CRM40来创建运行时映像26(例如作为对用户输入的响应或通过一个脚本)。在一个实例中,加载运行时映像25包括对运行时映像25打包,传输或复制运行时映像到目标CRM 40,并且/或者校验存储在目标CRM 40上的已传输或复制的运行时映像26(如,通过循环冗余码校验)。熟悉相关技术的人应注意运行时映像25可以加载到目标CRM 40并且用相关技术中已知的各种方法来校验并且按发明人的主张符合本发明的范围。进一步来说,加载运行时映像25可以包括简单地复制运行时映像25到目标CRM 40(如基于每个文件或每个比特)。
目标计算机35进一步通过执行至少一个集成任务或处理目标CRM 40上的数据来执行可执行安装程序30从而集成在目标CRM 40上的运行时映像26和目标计算机35。执行集成任务连接或集成运行时映像26和目标计算机35。集成包括,但不仅限于,硬件检测和驱动程序安装、软件注册以及安全标识确定和加密。另外,集成可以包括一次或多次进入加载的映像的重启动。其他集成任务可以包括显示品牌(如,在启动时加一个闪屏)以及预安装各种应用程序。然后在重启动到加载的运行时映像26里之后进行预安装的应用程序的完全安装。可执行安装程序30可以在传输CRM 20上提供,在其他CRM上提供,或能够由目标计算机35访问。另外,可执行安装程序30可以执行来复制它的部分或全部功能到目标CRM 40,作为可执行安装程序27以备以后执行(如,在重启动进入运行时映像26后执行集成任务)。
本发明的软件程序可以用来安装任何数据,包括但不仅限于,应用程序和操作系统。如果运行时映像26是一个应用程序,可执行安装程序30可以执行更少的集成任务。例如,硬件检测、驱动程序安装以及软件注册可能在传输和集成应用程序的时候不发生。将一般安装任务从计算机相关的任务中抽象出来提供了有更广泛功能的映像。
在另外一个例子中,不同主板的能力要求操作系统从不同的硬件抽象层(HAL)提供支持。通过本发明,单个操作系统的运行时映像(如运行时映像1)包括多个硬件抽象层,因此可以应用于多种有着不同电源管理需要和不同数量处理器的不同主板。集成任务包括配置硬件抽象层和识别目标计算机35上的任何大容量存储设备控制器。
下面对发明人要求属于本发明范围的几个作为其他选择的实例进行说明。在一个这样作为其他选择的实例中,可执行安装程序30仅复制它的部分功能到目标CRM 40。可执行安装程序27的执行可以在目标计算机35重启进入加载的运行时映像26之后进行。在另一个实例中,可执行安装程序10的功能并不复制到传输CRM 20或目标CRM 40。相反,可执行安装程序10可以由目标计算机35访问执行。在一个缺少传输CRM 20的实例中,目标计算机35通过直接连接或如图5中描述的网络在3访问源CRM 5上的运行时映像1同时在4访问源CRM 5上的可执行安装程序10。
如果运行时映像1(或运行时映像25)是一个操作系统,目标计算机35从存储在源CRM 5(或传输CRM 20)上的一个最小的操作系统引导,配置目标CRM 40,并加载运行时映像1(或运行时映像25)。通过这种方式,本发明的软件可以使运行时映像加载到一个在目标CRM 40上未安装操作系统的目标计算机如目标计算机35。亦即,这个过程包括加载运行时映像到本地大容量存储设备和配置硬件和已加载的映像的软件设置,而仍然在最小的操作系统环境中。这个过程然后引导进入配置好的、已加载的映像来进行任何的集成任务。
如果运行时映像1(或运行时映像25)是一个应用程序,那么目标计算机35从目标计算机35的一个操作系统中执行可执行安装程序10(或可执行安装程序30或可执行安装程序27)来加载运行时映像1(或运行时映像25)并且/或者集成已加载的运行时映像26和目标计算机35上的操作系统(如执行计算机相关的任务)。目标计算机35上的操作系统可以为一个完整的操作系统或一个最小的操作系统。
熟悉相关技术的人应注意本发明中不同的CRM可以物理上位于一个或多个计算机上或能够被一个或多个计算机访问到。这样的CRM与计算机的物理位置和连接的变化在相关技术中是众所周知的,同时发明人也主张这样的变化属于本发明的范围。另外,图1至4所示的元素可以存储在单个的CRM或多个CRM的组合中。进一步来说,可执行安装程序10可以存储在源CRM 5或其他任何预先能够被一个用来加载和/或集成运行时映像26和目标计算机35的计算机访问到的CRM上。
下面参考图2(图2为流程图),展示把运行时映像1通过传输CRM 20从源CRM 5传输到目标CRM 40。一个系统管理员或其他用户在42存储运行时映像1到源CRM 5。系统管理员在44和46各自复制或传输运行时映像1和可执行安装程序10到传输CRM 20。目标计算机35在48在目标计算机35上执行可执行安装程序30来在50加载存储在传输CRM 20上的运行时映像25到目标CRM 40。进一步来说,在48在目标计算机35上执行可执行安装程序(可执行安装程序30或可执行安装程序27或两者),在52把目标CRM 40上的运行时映像26和目标计算机35集成。集成时处理存储在目标计算机35上的数据来连接目标CRM 40上的运行时映像26和目标计算机35。
下面参考图3(图3为方框图),展示映像工具67和集成模块71与源CRM5和目标CRM 40之间的交互。在图3的实例中,可执行安装程序10的功能被分解为两个组件,加载和集成,各自由映像工具67和集成模块71来进行。在这样的实例中,映像工具67可以为一个第三方的商业映像产品,由目标计算机35或另外一个和目标计算机35无关联的计算机来执行。
源CRM 5存储运行时映像1和一个集成任务列表76。如上所述,运行时映像1可以包括一个操作系统72和/或至少一个应用程序74。例如,运行时映像1可以包括商业操作系统或如字处理软件或电子表格软件这样的应用软件。映像工具67包括软件功能来各自加载运行时映像1和集成任务列表76到目标CRM 40成为运行时映像26和集成任务77。目标CRM 40和目标计算机35相关,目标计算机35配置后执行映像工具67和存储在目标CRM 40上的集成模块71。
在一个实例中,目标计算机35执行映像工具67来加载运行时映像1和集成任务列表76到目标CRM 40或其他人任何可以由目标计算机35访问的CRM。目标计算机35执行集成模块71通过执行集成任务列表77上所列任务来集成运行时映像26和目标计算机35。除这里其他地方所述的集成任务外,集成任务列表76、77包括,但不仅限于,计算机可执行指令用目标计算机的安全识别数据更新一个或多个系统设置。在执行集成模块71时,目标计算机35执行每一个集成任务来完成运行时映像26和目标计算机35之间的集成。
在一个作为其他选择的实例中,一个非目标计算机35的计算机执行映像工具67来加载运行时映像1并复制集成任务浪费76到目标CRM 40。在其他实例中,映像工具67包括或执行一个引导目标计算机35的最小的操作系统。在又一个实例中,映像工具67加载运行时映像1到目标CRM 40,并且从最小的操作系统中执行集成模块71来集成目标CRM 40上的运行时映像26和目标计算机35。集成模块71可以存储在目标CRM 40以外的CRM上。
下面参考图4(图4是方框图),显示存储在CRM 82如传输CRM 20上的数据结构80的内容。数据结构80表示由目标计算机35执行、用来集成目标CRM 40上的运行时映像26和目标计算机35的一个或多个集成任务的列表。在图4所示实例中,数据结构80包括一个映像数据字段84、一个确定数据字段86和一个集成数据最大88。映像数据字段84存储用来加载运行时映像1到目标CRM 40的计算机可执行指令。如这里所述,和映像数据字段84关联的计算机可执行指令可以是第三方商业映像产品的一部分,由目标计算机35或其他和目标计算机35无关的计算机来执行。确定数据字段86存储用来确定一个或多个和目标计算机35相关的参数的计算机可执行指令。例如,计算机可执行指令可以取得和目标计算机35相关的安全识别数据。集成数据字段88存储用来集成确定了的参数和运行时映像26的计算机可执行指令。例如,计算机可执行指令可以使用用通过确定数据字段86得到的安全识别数据来加密一个或多个键。
图5以一个计算机130的形式展示一个通用计算机设备的例子。在本发明的一个实例中,一个如计算机130这样的计算机适合用在于此已说明的其他图中。计算机130由一个或多个处理器或处理单元132和一个系统内存134。在图示的实例中,系统总线136连接不同的系统组件,包括系统连接存储器134和处理器132。总线136代表几种总线结构类型中的一种或多种,包括内存总线或内存控制器、外设总线、或加速图形接口,以及一个使用多种总线结构种的一种的处理器或本地总线。作为例子,而非限制,这样的结构包括工业标准结构(ISA)总线,微通道结构(MCA)总线,增强的ISA(EISA)总线,视频电子标准协会(VESA)本地总线,以及也称为中层楼总线(Mezzanine bus)的周边元件扩展接口(PCI)总线。
计算机130通常有至少一些形式的计算机可读媒体。计算机可读媒体包括易失的和不易失的媒体、可移动的和不可移动的媒体,可以为能被计算机130访问的任何可用媒体。作为例子,而非限制,计算机可读媒体包括计算机存储媒体和通讯媒体。计算机存储媒体包括易失的和由任何存储如计算机可读指令、数据结构、程序模块或其他数据这样的信息的方法或技术实现的不易失的媒体、可移动的和不可移动的媒体。例如,计算机存储媒体包括RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多用途盘(DVD)或其他光盘存储,盒式磁带、磁带、磁盘存储或其他磁存储设备,或其他任何可以用来存储所需信息并且能够被计算机130访问的媒体。通讯媒体通常包括计算机可读指令、数据结构、程序模块或其他调制过的信号表示的数据如载波或其他传输机制并且包括任何传输媒体。熟悉相关技术的人应熟悉调制过的数据信号,调制过的数据的一个或多个特性被设置或改变用以在信号中对信息进行编码。有线媒体,如有线网络或直接连线的连接,无线媒体,如声音、无线电频率、红外线和其他无线媒体,都是通讯媒体的例子。上述任何媒体的组合都包含在计算机可读媒体的范围之内。
系统内存134包括形式为可移动和/或不可移动、易失的和/或不易失的存储器的计算机存储媒体。在图示的实例种系统内存134包括只读存储器(ROM)138和随机存取存储器(RAM)140。包含基本的子程序来帮助在计算机130的元件之间传输信息,如在启动过程中的基本输入/输出系统142(BIOS)一般存储在ROM 138中。RAM 140通常包含需要能够马上访问到和/或正在由处理单元132处理的数据和/或程序模块。作为例子,而非限制,图5用图示说明操作系统144、应用程序146、其他程序模块148和程序数据150。
计算机130也可以包含其他的可移动的/不可移动的、易失的/不易失的计算机存储媒体。例如,图5展示了一个读写不可移动的、不易失的磁媒体的硬盘驱动器154。图5还展示了一个读写可移动的、不易失的磁盘158的磁盘驱动器156,一个读写可移动的、不易失的光盘162的光盘驱动器160如CD-ROM或其他光学媒体。其他可以用在示意的操作环境里的可移动的/不可移动的、易失的/不易失的存储媒体包括,但不仅限于,磁带和盒式磁带、闪存卡、数字式多用途盘、数字视频磁带、固态的RAM、固态的ROM等等。硬盘驱动器144,以及磁盘驱动器156和光盘驱动器160通常与系统总线136通过不易失存储器界面相连,如界面166。
上面在图5中展示的驱动器或其他大容量存储设备以及它们相关的计算机存储媒体为计算机130存储计算机可读指令、数据结构、程序模块和其他数据。在图5中,例如,硬盘驱动器154用来存储操作系统170、应用程序172、其他程序模块174以及程序数据176。注意这些组件既可以与操作系统144、应用程序146、其他程序模块148以及程序数据150一样也可以与它们不同。操作系统170、应用程序172、其他程序模块174以及程序数据176用不同的数字标出用来展示,至少它们是不同的拷贝。
一个用户可以通过输入设备或用户界面选择设备如键盘180和定点设备182(如鼠标、轨迹球、笔或触摸垫)来输入命令和信息到计算机130中。其他输入设备(未标出)可以包括麦克风、控制杆、游戏操纵杆、圆盘式卫星电视天线、扫描仪或类似的设备。这些和其他输入设备通过用户输入界面184和连接到系统总线136的处理单元132连接,但是也可以通过其他的界面和总线结构,如并口、游戏口,或通用串行总线USB)来连接。显示器188或其他类型的显示设备也通过一个界面,如视频界面190连接到系统总线136。除显示器188之外,计算机通常包括其他的周边输出设备(未标出)如打印机和音箱,它们可以通过输出周边设备界面(未标出)来连接。
计算机130可以在一个与一个或多个远程计算机(如远程计算机194)进行逻辑连接的网络环境中运行。远程计算机194可以是一台个人计算机、服务器、路由器、网络PC,一个对等设备或其他一般的网络节点,并且通常包括上面所述与计算机130相关的元件。图5中展示的逻辑连接包括局域网(LAN)196和广域网(WAN)198,但也可能包括其他网络。这样的网络环境在办公室、企业范围的计算机网络、企业内部互联网和全球计算机网络(如因特网)中是很常见的。
当用在一个局域网环境中,计算机130通过一个网络界面或适配器186与局域网196相连。当用在一个广域网环境中,计算机130通常包括一个调制解调器178或其他在广域网198上建立通讯的方法,如因特网。调制解调器178可以是内置的或外置的,通过用户输入界面194或其他适合的机制与系统总线136相连。在一个网络环境中,所述与计算机130相关的计算机模块,或部分,可以存储在一个远程存储器存储设备(未标出)中。作为例子,而非限制,图5展示的远程应用程序192驻留在存储器设备中。应理解所示的网络连接是示意性的同时也可以使用在计算机之间建立通讯连接的其他方法。
通常,计算机130的数据处理器是通过不同时间存储在不同的计算机可读存储媒体中的指令来编程的。程序和操作系统通常是通过软盘或CR-ROM来分发的。从那里,它们被安装或加载到计算机的二级存储中。在执行的时候,它们至少部分被加载到计算机的主电子存储中。这里所述的发明包括这些和其他不同类型的计算机可读存储媒体,这些媒体和一个微处理器或其他数据处理器一起包含实现下面所述步骤的指令或程序。本发明还包括计算机自身,当根据这里所述的方法和技术对它编程的时候。
为了说明,程序和其他可执行程序组件,如操作系统在这里用离散的块来表示。然而应承认,这样的程序和组件不同的时间驻留在计算机不同的存储元件里,并且由计算机的数据处理器来执行。
虽然通过一个示意性的计算机系统环境,包括计算机130来说明,本发明可以应用于大量其他的通用或专用的计算系统环境或配置中。计算系统环境并不有意对本发明的使用范围或功能作出任何限制。再者,计算系统环境不应被认为依赖于示意的操作系统环境里的一个或多个所述组件。本发明适于在其中使用的众所周知的计算系统、环境,和/或配置的例子包括,但不仅限于,个人计算机、服务器计算机、手持设备或膝上型设备、多处理器系统、基于多处理器的系统、机顶盒、可编程消费者电子产品,网络PC、小型机、大型机、包括任何上述系统或设备的分布式计算环境,及类似的环境。
本发明可以在计算机由一个或多个计算机或设备执行的可执行指令,如程序模块的一般语境中说明。通常,计算机模块包括,但不仅限于,子程序、程序、对象、组件以及执行特殊任务或熟悉特殊抽象数据类型的数据结构。本发明也可以应用在通过通讯网络连接的远程处理设备执行任务的分布式计算机环境中。在一个分布式计算环境中,程序模块可以位于本地的或远程的包括存储器存储设备的计算机存储媒体中。
在操作时,目标计算机35(如计算机130)执行如图2中所示的计算机可执行指令把独立于计算机环境的运行时映像1从源CRM 5传输到目标计算机35的目标CRM 40。
下面是预处理一个软件产品(如操作系统或应用程序)来创建一个如图1中的运行时映像1这样的运行时映像的方法的一个例子。
软件程序的源代码由软件开发者编译生成可执行文件盒其他文件。这些文件分组到组件中,然后这些装配组件到软件产品中来创建一个映像。然后软件产品的映像被加载到一个计算机。加载软件产品的映像到一个计算机的过程可以包括引导进入一个最小的操作系统(例如,通过一个CD、DVD、或网络引导)和查找这个映像。映像可以存储在本地的CD、DVD、大容量存储设备或其他CRM。作为其他选择,映像可以存储在一个可通过网络访问的CRM上。由软件开发者通过一个用户界面输入的配置选项存储在一个能够被接收软件产品映像的计算机访问的文件中。例如,配置选项可以包括无人看管安装选项、原始安装选项、和高级安装选项。计算机基于配置选项准备一个本地的CRM。然后软件产品根据配置选项被安装到计算机的本地的CRM。根据本发明,在预处理结束时,软件产品的映像是一个如图中的运行时映像1这样的可以立即加载到目标计算机35的运行时映像。
一旦运行时映像1被加载到目标计算机35,任何没有在预处理的时候进行的计算机相关的配置将在集成过程中进行。在一个实例中,映像配置发生在当目标计算机35仍在一个最小操作系统环境中的时候。如上所述,这样的配置或集成可以包括,但不仅限于,配置/注册映像中的软件对象、增加或删除组件、配置系统设置(如注册表设置),移动和解压缩文件,以及为计算机的地区选择一种合适的语言。然后引导已加载的映像,处理附加的配置项目。在启动前或启动后进行的配置项目包括,但不仅限于,重置用户设置和增加设备驱动程序来准备映像在任何硬件上启动,生成和目标计算机35相关的安全数据,以及生成任何基于已生成的安全数据的已加载的软件程序需要的密钥。
熟悉技术的人员应注意,在本发明的范围之内,本发明的上述说明和上述例子的变化是允许的。例如,上述例子的包括包括一个为零售商准备的原始安装的初始设置流程。进一步来说,其他变化包括一个为零售商准备的升级安装初始设置流程。发明人主张这样的变化在本发明的范围之内。
当介绍本发明或其实例中的元素时,冠词“一个”,“那个”,和“所述”用来表示有一个或多个元素。术语“包括”,和“有”用来表示包含并表示可能有列出来的元素以外的附加元素。
如上所述,可以看到本发明的目标得到了实现同时也达到了其他有利的结果。
由于对上述结构、产品和方法在不超出本发明的范围内可以做不同的变化,应认为上述说明和附图中的所有内容都是解释性的而非限制性的。
权利要求
1.一种把一个独立于计算机环境的运行时映像通过一个或多个传输计算机可读媒体从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,其特征在于,所述方法包括复制运行时映像到传输媒体上;及复制一个可执行安装程序到传输媒体上,当被目标计算机执行时,所述可执行安装程序加载运行时映像到目标媒体并集成已加载的运行时映像和目标计算机。
2.按照权利要求1所述的方法,其特征在于,所述运行时映像包括一个操作系统或一个应用软件或两者都包括。
3.按照权利要求1所述的方法,其特征在于,当被目标计算机执行时,所述可执行安装程序在目标媒体上执行一个或多个数据处理操作来连接已加载的运行时映像到目标计算机。
4.按照权利要求3所述的方法,其特征在于,所述数据处理操作包括更新目标计算机上的系统设置。
5.按照权利要求1所述的方法,其特征在于,所述可执行安装程序包括一个引导目标计算机的最小的操作系统。
6.按照权利要求1所述的方法,其特征在于,所述一个或多个计算机可读媒体包含执行权利要求1的所述方法的计算机可执行指令。
7.一种把一个独立于计算机环境的运行时映像从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,其特征在于,所述方法包括加载运行时映像到目标媒体上;及复制一个可执行安装程序到目标媒体上,其中,当被目标计算机执行时,所述可执行安装程序集成已加载的运行时映像和目标计算机。
8.按照权利要求7所述的方法,其特征在于,所述运行时映像包括一个操作系统或一个应用软件或两者都包括。
9.按照权利要求7的所述方法,其特征在于,当被目标计算机执行时,所述可执行安装程序通过在目标媒体上执行一个或多个数据处理操作来连接已加载的运行时映像和目标计算机从而集成运行时映像和目标计算机。
10.按照权利要求9所述的方法,其特征在于,所述数据处理操作包括更新目标计算机上的至少一个系统设置。
11.按照权利要求7所述的方法,其特征在于,所述一个或多个计算机可读媒体包含执行权利要求7的所述方法的计算机可执行指令。
12.一个或多个计算机可读媒体,包含用来加载独立于计算机环境的运行时映像到目标计算机上的一个或多个目标计算机可读媒体的计算机可执行组件,其特征在于,所述组件包括由目标计算机使用的运行时映像;及可执行安装程序,当被目标计算机执行时,其加载运行时映像到目标媒体并集成已加载的运行时映像和目标计算机。
13.按照权利要求12所述的计算机可读媒体,其特征在于,所述运行时映像包括一个操作系统或一个应用程序或两者都包括。
14.按照权利要求12所述的计算机可读媒体,其特征在于,所述可执行安装程序包括一个包含一个或多个集成任务的列表,当被目标计算机执行时,所述可执行安装程序执行列表里的每一个集成任务来集成运行时映像和目标计算机。
15.按照权利要求14所述的计算机可读媒体,其特征在于,所述集成任务包括用目标计算机的安全识别数据更新一个或多个目标计算机的设置。
16.按照权利要求12所述的计算机可读媒体,其特征在于,所述组件进一步包括一个引导目标计算机的最小操作系统。
17.一种计算机可读媒体,在上面存储一个代表包含一个或多个用来集成一个独立于计算机环境的运行时映像和一个有一个或多个目标计算机可读媒体的目标计算机的集成任务列表的数据结构,其特征在于,所述数据结构包括一个或多个数据字段,这些字段存储的计算机可执行指令包括加载运行时映像到目标媒体;确定一个或多个与目标计算机相关的参数;及集成确定了的参数和已加载的运行时映像。
18.如权利要求17所述的计算机可读媒体,其特征在于,所述参数包括安全设备数据或一个硬件抽象层或两者都包括。
19.如照权利要求17所述的计算机可读媒体,其特征在于,所述数据字段进一步包括存储用来引导目标计算机的计算机可执行指令。
20.一个或多个计算机可读媒体,包含用来加载一个独立于计算机环境的运行时映像到一个目标计算机上的一个或多个目标计算机可读媒体的计算机可执行组件,其特征在于,所述组件包括一个映像工具,用来加载运行时映像到目标媒体;及一个集成模块,用来集成已加载的运行时映像和目标计算机。
21.按照权利要求20所述的计算机可读媒体,其特征在于,所述映像工具,当被执行的时候,复制至少一个文件到目标媒体。
22.按照权利要求21所述的计算机可读媒体,其特征在于,所述映像工具,当被执行的时候,校验已复制到目标媒体的文件。
23.按照权利要求20所述的计算机可读媒体,其特征在于,所述目标计算机执行映像工具。
24.按照权利要求20所述的计算机可读媒体,其特征在于,所述目标计算机包括一个操作系统,所述运行时映像包括一个应用程序,及所述目标计算机从操作系统执行集成模块来集成已加载的运行时映像和目标计算机。
25.按照权利要求20所述的计算机可读媒体,其特征在于,所述集成模块,当被目标计算机执行的时候,确定一个和多个和目标计算机相关的参数并集成确定了的参数和运行时映像。
全文摘要
一种系统与方法,把一个独立于计算机环境的运行时映像从源计算机可读媒体复制到一个目标计算机的一个或多个目标计算机可读媒体上。本发明的软件集成复制了的软件产品和目标计算机。该软件把一个操作系统和/或相关的应用程序作为运行时映像加载到目标计算机上。
文档编号G06F9/445GK1467632SQ0313076
公开日2004年1月14日 申请日期2003年5月12日 优先权日2002年6月12日
发明者J·科恩, R·博克哈特, W·G·米勒, T·亚扬, B·L·格林, J 科恩, 斯 , 格林, 米勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1