CN1467632B - 基于映像的软件安装的系统和方法 - Google Patents

基于映像的软件安装的系统和方法 Download PDF

Info

Publication number
CN1467632B
CN1467632B CN031307612A CN03130761A CN1467632B CN 1467632 B CN1467632 B CN 1467632B CN 031307612 A CN031307612 A CN 031307612A CN 03130761 A CN03130761 A CN 03130761A CN 1467632 B CN1467632 B CN 1467632B
Authority
CN
China
Prior art keywords
object computer
computer
runtime images
readable media
runtime
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
CN031307612A
Other languages
English (en)
Other versions
CN1467632A (zh
Inventor
J·科恩
R·博克哈特
W·G·米勒
T·亚扬
B·L·格林
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1467632A publication Critical patent/CN1467632A/zh
Application granted granted Critical
Publication of CN1467632B publication Critical patent/CN1467632B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

一种系统与方法,把一个独立于计算机环境的运行时映像从源计算机可读媒体复制到一个目标计算机的一个或多个目标计算机可读媒体上。本发明的软件集成复制了的软件产品和目标计算机。该软件把一个操作系统和/或相关的应用程序作为运行时映像加载到目标计算机上。

Description

基于映像的软件安装的系统和方法
技术领域
本发明涉及软件安装领域。更特别地,本发明涉及一种基于映像的软件安装系统和方法。
背景技术
操作系统是所有计算机系统和计算机化设备的核心。操作系统提供一个环境使设计出的软件应用和硬件能够在其中进行操作。为实现这个目的,操作系统管理和调度它所在的计算机或设备的资源,并提供不同的功能模块和界面让应用程序能够用来完成它们的任务。
在一些已有的系统中,软件和操作系统的安装通过检测系统中硬件的信息、复制和解压缩源文件、通过库注册这样的方法来安装这些文件,然后基于用户的输入配置这些安装好的文件来完成。这样的安装过程通常很消耗时间而且很多动作,尤其在安装文件阶段,是与应用程序或操作系统安装上去的系统无关的。对这些已有的系统,检测系统信息、复制和解压缩文件、安装和注册文件,和用户配置需要比较长的时间。这样的系统缺乏一种对多个计算机一起执行一般安装动作的方法。
出于这些原因,需要一种基于映像安装的系统来改正一个或多个这些和其他的缺点。
发明内容
本发明提供用来完成基于映像安装的软件。更特别地,本发明包括用来把独立于计算机环境的运行时映像从源计算机可读媒体通过一种或多种计算机可读传输媒体传输到一个目标计算机的一个或多个目标计算机可读媒体上的软件。这个软件把操作系统和/或相关应用程序作为运行时映像加载。
本发明的全映像软件安装技术安装软件产品或其他软件程序的整个映像而非构成软件产品的一组单个文件。如果软件产品是一个操作系统,本发明的软件从一个计算机可读媒体引导一个最小的操作系统,配置本地硬件,配置最小的设置,加载软件的一个映像,然后引导进入加载的软件映像以进行后续的用户首选项自定义,注册,和其他类似动作。传统的一般安装任务在加载之前创建软件产品的过程中进行因而不用在目标计算机上再次进行。作为结果,本发明加载后的软件映像产品并不在目标计算机上进行传统的安装过程,既省了时间,又减少了出错的可能。然后和目标计算机相关的配置任务在映像加载过程之后在目标计算机上作为集成任务来进行。本发明的软件独立于目标计算机上计算机可读媒体的格式、分区或几何结构。
本发明的软件传输一个与硬件无关的映像并且安装到任何计算机可读媒体。另外,在集成的过程中,其他组件可以被添加或安装到这个映像。这样的组件可以驻留在映像里作为卸载了的对象或可以通过一个网络共享或其他可用的合法统一资源定位符访问。这个软件还提供了软件产品安装的一致性,因为多数失败点已经在加载映像之前创建软件产品时就碰到了。
依照本发明的一个方面,提供了一种把一个独立于计算机环境的运行时映像通过一个或多个传输计算机可读媒体从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,所述方法包括:复制运行时映像到传输计算机可读媒体上;复制一个可执行安装程序到传输计算机可读媒体上,当被目标计算机执行时,所述可执行安装程序加载运行时映像到目标计算机可读媒体并集成已加载的运行时映像和目标计算机,其中,所述运行时映像包括多个硬件抽象层;其中集成已加载的运行时映像和目标计算机包括配置硬件抽象层。
依照本发明的另一个方面,提供了一种把一个独立于计算机环境的运行时映像从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,所述方法包括:加载运行时映像到目标计算机可读媒体上,所述运行时映像包括多个硬件抽象层;及复制一个可执行安装程序到目标计算机可读媒体上,其中,当被目标计算机执行时,所述可执行安装程序集成已加载的运行时映像和目标计算机,从运行时映像中的多个硬件抽象层中选择一个硬件抽象层,以及配置硬件抽象层。
依照本发明的另一个方面,提供了一种用于将一个独立于计算机环境的运行时映像与一个具有一个或多个目标计算机可读媒体的目标计算机集成的方法,所述方法包括:加载运行时映像到目标计算机可读媒体;确定一个或多个与目标计算机相关的参数,所述确定包括从运行时映像中的多个硬件抽象层中为目标计算机选择一个硬件抽象层;以及集成确定了的参数和已加载的运行时映像,其中所述集成确定了的参数和已加载的运行时映像包括配置硬件抽象层。
依照本发明的另一个方面,提供了一种用于加载一个独立于计算机环境的运行时映像到一个目标计算机上的一个或多个目标计算机可读媒体的计算机系统,所述计算机系统包括:一个映像工具,用来加载运行时映像到目标计算机可读媒体,其中所述运行时映像包括多个硬件抽象层;及一个集成模块,用来集成已加载的运行时映像和目标计算机,包括配置硬件抽象层。
作为其他选择,本发明可以包括其他不同的方法和装置。在下文中展现部分其他特性,同时由下文部分指出。
附图说明
图1为方框图,展示从源计算机可读媒体传输运行时映像到目标计算机可读媒体。
图2为流程图,展示从源计算机可读媒体传输运行时映像到目标计算机可读媒体。
图3为方框图,展示映像工具和集成模块之间同源计算机可读媒体和目标计算机可读媒体之间的交互。
图4为方框图,展示存储在计算机可读媒体中的数据结构的内容。
图5为方框图,展示一个在适合的计算系统环境中实现本发明的例子。
对应的标识符号表示附图中对应的部分。
具体实施方式
很多现代的操作系统和应用程序在发布给最终用户时都不是马上可以运行的。相反,必须使用附加的过程来完成与最终用户的(“目标”)系统的集成,这个过程通常成为“初始配置”或“安装”。简单的软件,例如,可能仅仅设置了一个或结构系统设置(如注册表的键)。其他软件可能定义设备驱动程序或服务。这个集成的过程发生在当目标计算机系统执行一个操作系统时。相反,这里根据本发明说明的过程提供了一种方法(还有其他东西)把一个预先处理过的软件产品或其他软件程序作为一个通常不需要或仅需要在目标计算机上做很少的附加“初始配置”或“安装”处理、马上可以运行的操作系统或应用程序的“运行时映像”来传输(见图1)。在安装到目标计算机之前预先处理过的软件产品和包括但不仅限于硬件配置、软件设置和用户配置数据的计算机环境无关。也就是说,预先处理过的软件产品在有不同硬件或软件配置的目标计算机上都是可操作的。另外,独立于计算机环境的运行时映像可以为一个新用户准备或有其他配置数据重置(如定时器)。然而,熟悉相关技术的人应理解本发明的一般结构同样可以应用于传输其他类型软件的运行时映像。这个软件的功能由一系列复制到运行时映像里的文件和一组需要编辑或加到目标计算机的系统设置和值来定义。
本发明的软件功能改进了已有的安装过程,然而使用存储在计算机可读媒体(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所示)。传输CRM20包括,但不仅限于,任何可移动或不可移动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相关的安全数据,以及生成任何基于已生成的安全数据的已加载的软件程序需要的密钥。
熟悉技术的人员应注意,在本发明的范围之内,本发明的上述说明和上述例子的变化是允许的。例如,上述例子的包括包括一个为零售商准备的原始安装的初始设置流程。进一步来说,其他变化包括一个为零售商准备的升级安装初始设置流程。发明人主张这样的变化在本发明的范围之内。
当介绍本发明或其实例中的元素时,冠词“一个”,“那个”,和“所述”用来表示有一个或多个元素。术语“包括”,和“有”用来表示包含并表示可能有列出来的元素以外的附加元素。
如上所述,可以看到本发明的目标得到了实现同时也达到了其他有利的结果。
由于对上述结构、产品和方法在不超出本发明的范围内可以做不同的变化,应认为上述说明和附图中的所有内容都是解释性的而非限制性的。

Claims (19)

1.一种把一个独立于计算机环境的运行时映像通过一个或多个传输计算机可读媒体从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,其特征在于,所述方法包括:
复制运行时映像到传输计算机可读媒体上;及
复制一个可执行安装程序到传输计算机可读媒体上,当被目标计算机执行时,所述可执行安装程序加载运行时映像到目标计算机可读媒体并集成已加载的运行时映像和目标计算机,
其中,所述运行时映像包括多个硬件抽象层;
其中集成已加载的运行时映像和目标计算机包括配置硬件抽象层。
2.按照权利要求1所述的方法,其特征在于,所述运行时映像包括一个操作系统或一个应用软件或两者都包括。
3.按照权利要求1所述的方法,其特征在于,当被目标计算机执行时,所述可执行安装程序在目标计算机可读媒体上执行一个或多个数据处理操作来连接已加载的运行时映像到目标计算机。
4.按照权利要求3所述的方法,其特征在于,所述数据处理操作包括更新目标计算机上的系统设置。
5.按照权利要求1所述的方法,其特征在于,所述可执行安装程序包括一个引导目标计算机的最小的操作系统。
6.一种把一个独立于计算机环境的运行时映像从源计算机可读媒体传输到目标计算机的一个或多个目标计算机可读媒体的方法,其特征在于,所述方法包括:
加载运行时映像到目标计算机可读媒体上,所述运行时映像包括多个硬件抽象层;及
复制一个可执行安装程序到目标计算机可读媒体上,其中,当被目标计算机执行时,所述可执行安装程序集成已加载的运行时映像和目标计算机,从运行时映像中的多个硬件抽象层中选择一个硬件抽象层,以及配置硬件抽象层。
7.按照权利要求6的所述方法,其特征在于,当被目标计算机执行时,所述可执行安装程序通过在目标计算机可读媒体上执行一个或多个数据处理操作来连接已加载的运行时映像和目标计算机从而集成运行时映像和目标计算机。
8.按照权利要求7所述的方法,其特征在于,所述数据处理操作包括更新至少一个系统设置。
9.按照权利要求6所述的方法,其特征在于,所述可执行安装程序包括一个包含一个或多个集成任务的列表,当被目标计算机执行时,所述可执行安装程序执行列表里的每一个集成任务来集成运行时映像和目标计算机。
10.按照权利要求9所述的方法,其特征在于,所述集成任务包括用标识目标计算机的安全识别数据更新一个或多个目标计算机的设置。
11.按照权利要求6所述的方法,其特征在于,所述可执行安装程序进一步包括一个引导目标计算机的最小操作系统。
12.一种用于将一个独立于计算机环境的运行时映像与一个具有一个或多个目标计算机可读媒体的目标计算机集成的方法,其特征在于,所述方法包括:
加载运行时映像到目标计算机可读媒体;
确定一个或多个与目标计算机相关的参数,所述确定包括从运行时映像中的多个硬件抽象层中为目标计算机选择一个硬件抽象层;以及
集成确定了的参数和已加载的运行时映像,其中所述集成确定了的参数和已加载的运行时映像包括配置硬件抽象层。
13.如权利要求12所述的方法,其特征在于,所述参数包括安全设备数据或一个硬件抽象层或两者都包括。
14.如照权利要求12所述的方法,其特征在于,所述数据方法进一步包括引导目标计算机。
15.一种用于加载一个独立于计算机环境的运行时映像到一个目标计算机上的一个或多个目标计算机可读媒体的计算机系统,其特征在于,所述计算机系统包括:
一个映像工具,用来加载运行时映像到目标计算机可读媒体,其中所述运行时映像包括多个硬件抽象层;及
一个集成模块,用来集成已加载的运行时映像和目标计算机,包括配置硬件抽象层。
16.按照权利要求15所述的计算机系统,其特征在于,所述映像工具,当被执行的时候,复制至少一个文件到目标计算机可读媒体,并校验目标计算机可读媒体上所复制的文件。
17.按照权利要求15所述的计算机系统,其特征在于,所述目标计算机执行映像工具。
18.按照权利要求15所述的计算机系统,其特征在于,所述目标计算机包括一个操作系统,所述运行时映像包括一个应用程序,及所述目标计算机从操作系统执行集成模块来集成已加载的运行时映像和目标计算机。
19.按照权利要求15所述的计算机系统,其特征在于,所述集成模块,当被目标计算机执行的时候,确定一个和多个和目标计算机相关的参数并集成确定了的参数和运行时映像。
CN031307612A 2002-06-12 2003-05-12 基于映像的软件安装的系统和方法 Expired - Lifetime CN1467632B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/167889 2002-06-12
US10/167,889 US6938250B2 (en) 2002-06-12 2002-06-12 Image-based software installation
US10/167,889 2002-06-12

Publications (2)

Publication Number Publication Date
CN1467632A CN1467632A (zh) 2004-01-14
CN1467632B true CN1467632B (zh) 2010-05-26

Family

ID=29583778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN031307612A Expired - Lifetime CN1467632B (zh) 2002-06-12 2003-05-12 基于映像的软件安装的系统和方法

Country Status (6)

Country Link
US (1) US6938250B2 (zh)
EP (1) EP1372067A3 (zh)
JP (1) JP2004021981A (zh)
KR (1) KR100855853B1 (zh)
CN (1) CN1467632B (zh)
TW (1) TWI291653B (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831684B1 (fr) * 2001-10-31 2004-03-05 Gemplus Card Int Installation de programme compile notamment dans une carte a puce
US20030221094A1 (en) * 2002-04-17 2003-11-27 Avery Pennarun Method and system for configuring a computer
US7100159B2 (en) * 2002-11-04 2006-08-29 Hewlett-Packard Development Company, L.P. Method, apparatus and means for silently customizing software within a multi-platform environment
US8225306B2 (en) * 2002-12-12 2012-07-17 Dell Products L.P. Platform independent imaging method and system
US20040163008A1 (en) * 2003-02-19 2004-08-19 Kim Roy Moon Remote system management and operation services in a computer network
US7448034B2 (en) * 2003-07-30 2008-11-04 International Business Machines Corporation Build time determination and installation of drivers on cloned systems
US20050055688A1 (en) * 2003-09-08 2005-03-10 Barajas Gaston M. Integrated rapid install system for generic software images
US20050066015A1 (en) * 2003-09-09 2005-03-24 Dandekar Shree A. Method and system for automated validation, scripting, dissemination and installation of software
US7487500B1 (en) * 2003-10-09 2009-02-03 Nortel Networks Limited System and method for installing and configuring software for a network element in an optical communications network
US20050125524A1 (en) * 2003-12-08 2005-06-09 Chandrasekhar Babu K. Cache system in factory server for software dissemination
US20050172284A1 (en) * 2004-01-30 2005-08-04 Dandekar Shree A. Method and system for automated generation of customized factory installable software
TWI243323B (en) * 2004-02-25 2005-11-11 Synnex Technology Internat Cor System and method for on-line uploading and downloading image files
US7765541B1 (en) 2004-05-26 2010-07-27 Oracle America, Inc. Minimization methodology
US20060031425A1 (en) * 2004-06-07 2006-02-09 Northrop Grumman Corporation Method for imaging computer systems
KR101090014B1 (ko) * 2004-07-15 2011-12-05 엘지전자 주식회사 무선단말기의 롬 이미지 다운로드 시스템 및 그 방법
US20060236320A1 (en) * 2005-01-31 2006-10-19 Inventec Corporation Computer platform system image automatic loading method and system
US20060179428A1 (en) * 2005-02-10 2006-08-10 Kiyokuni Kawachiya Method and system for efficiently starting a JAVA application
US7856602B2 (en) * 2005-04-20 2010-12-21 Apple Inc. Updatable menu items
US20070006205A1 (en) * 2005-05-18 2007-01-04 Michael Kennedy System for virtual image migration
US20070288986A1 (en) * 2006-06-13 2007-12-13 Candelore Brant L Method and system for downloading content to a target device
US8424041B2 (en) 2005-09-07 2013-04-16 Sony Corporation Method and system for downloading content to a content downloader
US7523089B2 (en) * 2005-09-30 2009-04-21 Microsoft Corporation Offline servicing of image files
US20070150889A1 (en) * 2005-12-22 2007-06-28 Shapiro Alan J Method and apparatus for panoplex generation and gryphing
CN101390050B (zh) 2005-12-22 2018-04-24 艾伦·J·薛比洛 通过相减性安装达成选择性分配软件资源的装置与方法
US7653794B2 (en) * 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US20070288985A1 (en) * 2006-06-13 2007-12-13 Candelore Brant L Method and system for uploading content to a target device
US20070294332A1 (en) * 2006-06-19 2007-12-20 Microsoft Corporation Processing device for end customer operation
US8423831B2 (en) * 2006-07-11 2013-04-16 Oracle America, Inc. System and method for performing auditing and correction
US8312449B2 (en) * 2006-10-31 2012-11-13 International Business Machines Corporation Viral installation of operating systems in a network
US7637022B2 (en) * 2006-12-06 2009-12-29 Trimble Navigation Limited Damping system and method for a pendulously supported crossline generator
KR100766863B1 (ko) * 2006-12-07 2007-11-15 주식회사 스펙트라 이동식저장장치를 이용한 소프트웨어 설치 시스템 및 그방법
US9513892B2 (en) * 2007-01-25 2016-12-06 Hewlett-Packard Development Company, L.P. Capturing and deploying an operating system in a computer environment
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US8161149B2 (en) 2007-03-07 2012-04-17 International Business Machines Corporation Pseudo-agent
US20100332640A1 (en) * 2007-03-07 2010-12-30 Dennis Sidney Goodrow Method and apparatus for unified view
US8495157B2 (en) 2007-03-07 2013-07-23 International Business Machines Corporation Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes
US8331366B2 (en) 2007-04-11 2012-12-11 Dell Products L.P. System and method for deployment of a software image to a plurality of target devices
CN101355551A (zh) * 2007-07-23 2009-01-28 华为技术有限公司 一种通信方法和装置
US7770065B2 (en) * 2008-02-06 2010-08-03 Inventec Corporation File data restoring system and method of computer operating system and software thereof
US20090217259A1 (en) * 2008-02-26 2009-08-27 Microsoft Corporation Building Operating System Images Based on Applications
US8332839B2 (en) * 2008-08-15 2012-12-11 Lsi Corporation Method and system for modifying firmware image settings within data storage device controllers
US8055736B2 (en) * 2008-11-03 2011-11-08 International Business Machines Corporation Maintaining storage area network (‘SAN’) access rights during migration of operating systems
US8086900B2 (en) * 2008-12-22 2011-12-27 International Business Machines Corporation System, method and computer program product for testing a boot image
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
US8966110B2 (en) * 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US8977724B2 (en) * 2010-03-31 2015-03-10 International Business Machines Corporation Method and system for automated operating system image loading
US8819672B2 (en) * 2010-09-20 2014-08-26 International Business Machines Corporation Multi-image migration system and method
US9122551B2 (en) 2011-06-17 2015-09-01 The Boeing Comapny Methods and systems for generating read-only operating systems
TWI437493B (zh) * 2011-07-25 2014-05-11 Quanta Comp Inc 電腦系統及其作業系統載入方法
US20130159973A1 (en) 2011-12-14 2013-06-20 International Business Machines Corporation Activation logic generation for a software appliance
US9442710B2 (en) 2013-12-27 2016-09-13 International Business Machines Corporation Method for using shared installation session environment to duplicate installs
CN104517060A (zh) * 2015-01-08 2015-04-15 南京创和信息技术有限公司 基于Android平台的文件访问指令截取系统及方法
CN106911500B (zh) * 2017-02-20 2020-12-04 北京百度网讯科技有限公司 物理机的配置方法、装置和物理机
US10795688B2 (en) 2018-07-23 2020-10-06 Datto, Inc. System and method for performing an image-based update
US10320625B1 (en) * 2018-08-21 2019-06-11 Capital One Services, Llc Managing service deployment in a cloud computing environment
US10521220B1 (en) * 2018-12-18 2019-12-31 Palantir Technologies Inc. Systems and methods for coordinating the deployment of components to defined user groups

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758165A (en) * 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
US6131192A (en) * 1998-06-18 2000-10-10 Microsoft Corporation Software installation
US6298443B1 (en) * 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142680A (en) 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
SE469956B (sv) 1991-11-27 1993-10-11 Icl Systems Ab Förfarande och arrangemang för att minska mängden information som krävs vid enhetlig revidering av programvara i ett flertal användarenheter i ett datorsystem
EP0592079A2 (en) 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5539730A (en) 1994-01-11 1996-07-23 Ericsson Ge Mobile Communications Inc. TDMA/FDMA/CDMA hybrid radio access methods
US5794052A (en) 1995-02-27 1998-08-11 Ast Research, Inc. Method of software installation and setup
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
GB2309104B (en) 1996-01-11 2000-06-07 Ibm Preloading software onto a computer system
US6049671A (en) 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6247128B1 (en) 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6080207A (en) * 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6199203B1 (en) 1998-07-21 2001-03-06 Hewlett-Packard Company Memory management techniques for on-line replaceable software
US6262726B1 (en) 1998-10-09 2001-07-17 Dell U.S.A., L.P. Factory installing desktop components for an active desktop
TW408286B (en) 1998-12-18 2000-10-11 Inventec Corp Software pre-installation method
US6711624B1 (en) 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
US6374401B1 (en) 1999-03-29 2002-04-16 International Business Machines Corporation System, method, and program for updating registry objects with a cross-platform installation program
US6360365B1 (en) 1999-03-29 2002-03-19 International Business Machines Corporation System, method, and program for preserving background settings during install and uninstall operations
US20020174329A1 (en) 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6385766B1 (en) 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6598223B1 (en) 1999-10-06 2003-07-22 Dell Usa, L.P. Method and system for installing and testing build-to-order components in a defined configuration computer system
US6681323B1 (en) 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
US6715144B2 (en) 1999-12-30 2004-03-30 International Business Machines Corporation Request based automation of software installation, customization and activation
WO2001060059A1 (en) 2000-02-07 2001-08-16 Sony Corporation Image processor and image processing method and recorded medium
US6907610B2 (en) 2001-06-15 2005-06-14 Microsoft Corporation System and method for building a target operating system from a source operating system
US7068309B2 (en) 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758165A (en) * 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
US6298443B1 (en) * 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
US6131192A (en) * 1998-06-18 2000-10-10 Microsoft Corporation Software installation

Also Published As

Publication number Publication date
EP1372067A2 (en) 2003-12-17
TW200405982A (en) 2004-04-16
KR100855853B1 (ko) 2008-09-01
JP2004021981A (ja) 2004-01-22
EP1372067A3 (en) 2007-01-24
TWI291653B (en) 2007-12-21
US20030233646A1 (en) 2003-12-18
CN1467632A (zh) 2004-01-14
KR20030095975A (ko) 2003-12-24
US6938250B2 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
CN1467632B (zh) 基于映像的软件安装的系统和方法
CN100547551C (zh) 不同类型操作系统中使用通用预安装环境的方法和系统
CN100377099C (zh) 为复制文件管理多个文件状态的方法
US9588752B2 (en) Performing unattended software installation
US7853669B2 (en) Mesh-managing data across a distributed set of devices
JP5007046B2 (ja) コンポーネントベースのソフトウェア・プロダクトの保守
CN102460382B (zh) 标注虚拟应用进程
CN102193817B (zh) 简化物理和虚拟部署的管理
CN101432690B (zh) Bios配置更新技术
KR101343148B1 (ko) 자동화된 디바이스 드라이버 관리
KR20070049166A (ko) 목표 기기 상에서의 종속 소프트웨어 패키지의 검출 및이용을 자동화하기 위한 방법 및 소프트웨어 리포지터리를생성하기 위한 시스템
US20220027147A1 (en) Remote access controller device update system
CN102200921A (zh) 智能引导设备选择和恢复
US7203937B1 (en) Software installation and configuration with specific role for target computer and identity indicator for authorization for performance of features
CN101253474A (zh) 用于命令的方法和计算机可读介质
CN102193810A (zh) 模块间内联候选标识
US8087015B2 (en) Assignment of application models to deployment targets
EP2435912B1 (en) Controlling a running application for live scene graph editing
CN101339516A (zh) 有效地打补丁
CN102193818B (zh) 虚拟应用程序包重构
CN101326515A (zh) 元数据驱动的应用程序部署
US7043724B2 (en) System and services for handling computing environments as documents
TWI587216B (zh) 動態中介語言修改及替換的方法、記錄相關指令的電腦程式產品及相關計算系統
CN102859512A (zh) 可远程处理的项目
CN102378964B (zh) 创建虚拟进程的进程内中介

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150429

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150429

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term

Granted publication date: 20100526

CX01 Expiry of patent term