首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际申请 / 请求书 / 组合的应用和执行环境安装

组合的应用和执行环境安装

阅读:2发布:2021-01-17

专利汇可以提供组合的应用和执行环境安装专利检索,专利查询,专利分析的服务。并且用于在计算机上安装包括应用 执行环境 在内的 软件 的方法、系统、装置以及介质编码的 计算机程序 产品。本 说明书 所描述主题的一个或多个方面可以实现在一个或多个方法中,包括:接收在目标计算机上提供软件应用的安装的 请求 ,其中所述软件应用需要应用执行环境程序的操作,所述应用执行环境程序包括跨平台应用程序 接口 ,用以为应用执行环境中运行的应用提供服务;以及当所述目标计算机缺少所述应用执行环境程序时,在安装序列中提供所述软件应用以及所述应用执行环境程序二者的安装;其中所述软件应用和所述应用执行环境程序的所述安装作为单个安装事务联系在一起,从而其一起成功或失败。,下面是组合的应用和执行环境安装专利的具体信息内容。

1.一种方法,包括:
接收在目标计算机上提供软件应用的安装的请求,其中所述软件 应用需要应用执行环境程序的操作,所述应用执行环境程序包括跨 平台应用程序接口,用以为应用执行环境中运行的应用提供服务; 以及当所述目标计算机缺少所述应用执行环境程序时,在安装序列中 提供所述软件应用以及所述应用执行环境程序二者的安装;
其中,所述软件应用和所述应用执行环境程序的所述安装作为单 个安装事务联系在一起,从而其一起成功或失败。
2.根据权利要求1所述的方法,其中所述提供包括:在所述安 装序列首次启动时,提供与所述软件应用相关的初始安装用户界面 面板。
3.根据权利要求1所述的方法,其中所述安装序列包括呈现给 用户的用户界面面板,所述用户界面面板包括关于所述应用执行环 境程序将随同所述软件应用安装的通知。
4.根据权利要求3所述的方法,其中所述提供包括:提供用户 界面面板,以用于呈现给用户,以及收集针对软件应用安装的安装 偏好,其中所述通知包括所述软件应用安装需要应用执行环境程序 安装的指示。
5.根据权利要求3所述的方法,其中所述安装序列包括:
安装用户界面面板,用以接收用户希望安装所述软件应用的确 认;
用户界面面板,其包括关于所述应用执行环境程序将随同所述软 件应用进行安装的通知;
许可协议用户界面面板,用以接收针对所述应用执行环境程序的 用户许可协议的接受;以及
安装进度用户界面面板,用以使用单个进度指示器来呈现所述软 件应用和所述应用执行环境程序二者的安装进度,其中所述进度指 示器贯穿所述软件应用和所述应用执行环境程序二者的安装。
6.根据权利要求3所述的方法,其中所述提供包括:
通过参考所述软件应用的安装包,启动所述应用执行环境程序的 第一安装程序;
利用将要安装所述应用执行环境程序的指示,从所述第一安装程 序调用所述安装包的第二安装程序;
由所述第二安装程序呈现包括插入通知的用户界面;以及
在用户接受针对所述应用执行环境程序的许可协议之后,安装所 述应用执行环境程序,继而安装所述软件应用。
7.根据权利要求6所述的方法,其中所述安装包括:所述第二 安装程序驱动所述应用执行环境程序的安装、继而驱动所述软件应 用的安装,这在事务上是作为单个安装,使用贯穿安装的安装进度 条。
8.根据权利要求1所述的方法,其中所述提供包括:
向所述目标计算机提供包括所述应用执行环境程序和所述安装 程序的安装程序包,以便通过运行被拷贝到所述目标计算机的应用 执行环境中的安装程序,来安装所述应用执行环境程序和所述软件 应用。
9.一种计算机程序产品,编码在计算机可读介质上,可操作以 致使数据处理装置执行操作,所述操作包括:
接收在目标计算机上提供软件应用的安装的请求,其中所述软件 应用需要应用执行环境程序的操作,所述应用执行环境程序包括跨 平台应用程序接口,用以为应用执行环境中运行的应用提供服务; 以及当所述目标计算机缺少所述应用执行环境程序时,在安装序列中 提供所述软件应用以及所述应用执行环境程序二者的安装;
其中,所述软件应用和所述应用执行环境程序的所述安装作为单 个安装事务联系在一起,从而其一起成功或失败。
10.根据权利要求9所述的产品,其中所述提供包括:在所述安 装序列首次启动时,提供与所述软件应用相关的初始安装用户界面 面板。
11.根据权利要求9所述的产品,其中所述安装序列包括呈现给 用户的用户界面面板,所述用户界面面板包括关于所述应用执行环 境程序将随同所述软件应用安装的通知。
12.根据权利要求11所述的产品,其中所述提供包括:提供用 户界面面板,以用于呈现给用户,以及收集针对软件应用安装的安 装偏好,其中所述通知包括所述软件应用安装需要应用执行环境程 序安装的指示。
13.根据权利要求11所述的产品,其中所述安装序列包括:
安装用户界面面板,用以接收用户希望安装所述软件应用的确 认;
用户界面面板,其包括关于所述应用执行环境程序将随同所述软 件应用进行安装的通知;
许可协议用户界面面板,用以接收针对所述应用执行环境程序的 用户许可协议的接受;以及
安装进度用户界面面板,用以使用单个进度指示器来呈现所述软 件应用和所述应用执行环境程序二者的安装进度,其中所述进度指 示器贯穿所述软件应用和所述应用执行环境程序二者的安装。
14.根据权利要求11所述的产品,其中所述提供包括:
通过参考所述软件应用的安装包,启动所述应用执行环境程序的 第一安装程序;
利用将要安装所述应用执行环境程序的指示,从所述第一安装程 序调用所述安装包的第二安装程序;
由所述第二安装程序呈现包括插入通知的用户界面;以及
在用户接受针对所述应用执行环境程序的许可协议之后,安装所 述应用执行环境程序,继而安装所述软件应用。
15.根据权利要求14所述的产品,其中所述安装包括:所述第 二安装程序驱动所述应用执行环境程序的安装、继而驱动所述软件 应用的安装,这在事务上是作为单个安装,使用贯穿安装的安装进 度条。
16.根据权利要求9所述的产品,其中所述提供包括:
向所述目标计算机提供包括所述应用执行环境程序和所述安装 程序的安装程序包,以便通过运行被拷贝到所述目标计算机的应用 执行环境中的安装程序,来安装所述应用执行环境程序和所述软件 应用。
17.一种系统,包括:
目标计算机;
一个或多个计算机,其可操作以用于与所述目标计算机交互,以 及用于执行操作,所述操作包括:
接收在目标计算机上提供软件应用的安装的请求,其中所述 软件应用需要应用执行环境程序的操作,所述应用执行环境程序包 括跨平台应用程序接口,用以为应用执行环境中运行的应用提供服 务;以及当所述目标计算机缺少所述应用执行环境程序时,在安装序 列中提供所述软件应用以及所述应用执行环境程序二者的安装;
其中,所述软件应用和所述应用执行环境程序的所述安装作 为单个安装事务联系在一起,从而其一起成功或失败。
18.根据权利要求17所述的系统,其中所述提供包括:在所述 安装序列首次启动时,提供与所述软件应用相关的初始安装用户界 面面板。
19.根据权利要求17所述的系统,其中所述安装序列包括呈现 给用户的用户界面面板,所述用户界面面板包括关于所述应用执行 环境程序将随同所述软件应用安装的通知。
20.根据权利要求19所述的系统,其中所述提供包括:提供用 户界面面板,以用于呈现给用户,以及收集针对软件应用安装的安 装偏好,其中所述通知包括所述软件应用安装需要应用执行环境程 序安装的指示。
21.根据权利要求19所述的系统,其中所述安装序列包括:
安装用户界面面板,用以接收用户希望安装所述软件应用的确 认;
用户界面面板,其包括关于所述应用执行环境程序将随同所述软 件应用进行安装的通知;
许可协议用户界面面板,用以接收针对所述应用执行环境程序的 用户许可协议的接受;以及
安装进度用户界面面板,用以使用单个进度指示器来呈现所述软 件应用和所述应用执行环境程序二者的安装进度,其中所述进度指 示器贯穿所述软件应用和所述应用执行环境程序二者的安装。
22.根据权利要求19所述的系统,其中所述提供包括:
通过参考所述软件应用的安装包,启动所述应用执行环境程序的 第一安装程序;
利用将要安装所述应用执行环境程序的指示,从所述第一安装程 序调用所述安装包的第二安装程序;
由所述第二安装程序呈现包括插入通知的用户界面;以及
在用户接受针对所述应用执行环境程序的许可协议之后,安装所 述应用执行环境程序,继而安装所述软件应用。
23.根据权利要求22所述的系统,其中所述安装包括:所述第 二安装程序驱动所述应用执行环境程序的安装、继而驱动所述软件 应用的安装,这在事务上是作为单个安装,使用贯穿安装的安装进 度条。
24.根据权利要求17所述的系统,其中所述提供包括:
向所述目标计算机提供包括所述应用执行环境程序和所述安装 程序的安装程序包,以便通过运行被拷贝到所述目标计算机的应用 执行环境中的安装程序,来安装所述应用执行环境程序和所述软件 应用。
25.根据权利要求17所述的系统,其中所述一个或多个计算机 包括服务器,其可操作以用于通过数据通信网络来与所述目标计算 机交互,并且所述目标计算机可操作以用于作为客户端与所述服务 器交互。
26.根据权利要求25所述的系统,其中所述目标计算机包括运 行web浏览器的个人计算机,或者运行无线应用协议浏览器的移动 通信设备。

说明书全文

说明书涉及在计算机平台上安装包括应用执行环境(例如, 虚拟机和运行时环境)在内的软件。计算机平台是包括用于该计算 机的特定操作系统(OS)(例如,OS,OS或 者OS)的计算机。软件开发者经常创建可以针对各自的计 算机平台适当编译的源代码,并且继而独立地生成用于每个目标平 台的本机安装包。每个本机安装包与特定的计算机平台相关联,并 且继而可以分发这些本机安装包以便在适当的机器上进行安装。对 于特定的目标平台,适当的本机安装包从软件开发者处获取,并且 可以使用OS安装程序(installer)来处理本机安装包以便安装应用。 例如,可以使用软件来产生用于在机器 上安装的.msi文件,并且可以使用不同的软件工具来产生用于在 机器上安装的.pkg文件。

一些软件开发者已经创建了部署在最终用户系统上的跨平台安 装包,例如Archive(JAR)文件格式。继而可以展开(例如, 解密和解压缩)跨平台包,并使用软件开发者和/或跨平台包格式的 开发者所提供的代码将跨平台包直接写入磁盘。通常,这种跨平台 软件在目标平台上的运行依赖于先前安装的虚拟机,例如虚拟 机(JVM)(可以从Sun Microsystems公司获得)。

JVM提供了用于包括OS、OS以及 OS在内的多数操作系统的运行时环境和Java解释器。Java源代码文 件(具有.java扩展名的文件)被编译为称为字节码的格式(具有.class 扩展名的文件),其继而由Java解释器来执行。可以通过适时编译 器(JIT)将字节码直接转换为机器语言指令。其他的示例运行时环 境包括C运行时、.NET以及集成运行时。

Player(可以从Adobe System Incorporated获得)是另一 虚拟机,其可以用来运行或解析文件,包括ActionScript或 Shockwave Flash(SWF)。Player和创作软件允许开 发在特定目标平台上运行的projector(自运行的SWF电影),这是 通过将SWF数据嵌入到播放器可执行文件中以创建新的.exe 文件,并操纵该.exe文件中的字节模式以指明SWF数据的存在。继 而可以分发这样的projector以便在目标平台上使用。

传统上,运行时及其安装程序是独立开发的。通常,用于运行 时的安装引擎是从第三方获取或许可的。用于运行时的安装程序包 含其自己的用户界面以及用于与目标计算机平台的OS交互的其他 工具。而且,需要首先安装运行时而后才可使用的应用必须让用户 知道这一先决条件。在网络下载上下文中,作为独立的过程,用户 通常需要首先在下载并安装运行时,继而重新开始应用安装过程。 备选地,可以将两个安装程序(一个用于运行时,一个用于应用) 链接在一起,使得即使应用安装过程自动重启,用户也仍然会看到 两个独立的安装对话框序列。

发明内容

本说明书描述了涉及在计算机平台上安装包括应用执行环境 (例如,虚拟机和运行时环境)在内的软件的技术。

总体上,本说明书中所描述主题的一个或多个方面可以在一个 或多个方法中实现,所述方法包括:接收在目标计算机上提供软件 应用安装的请求,其中该软件应用需要应用执行环境程序的操作, 该应用执行环境程序包括跨平台应用程序接口,用以为应用执行环 境中运行的应用提供服务;以及当目标计算机缺少该应用执行环境 程序时,在安装序列中提供软件应用以及应用执行环境程序二者的 安装;其中软件应用和应用执行环境程序的安装作为单个安装事务 联系在一起,从而其一起成功或失败。此方面的其他实施方式包括 相应的系统、装置和计算机程序产品。

这些和其他实施方式可选地包括以下一个或多个特征。所述提 供可以包括:在安装序列首次启动时,提供与软件应用相关的初始 安装用户界面面板。安装序列可以包括呈现给用户的用户界面面板, 其包括关于应用执行环境程序将随同软件应用安装的通知。而且, 所述提供可以包括:提供用户界面面板,以便呈现给用户,并收集 用于软件应用安装的安装偏好,其中所述通知包括软件应用安装需 要应用执行环境程序安装的指示。

所述安装序列可以包括:安装用户界面面板,用以接收用户希 望安装软件应用的确认;用户界面面板,包括关于应用执行环境程 序将随同软件应用安装的通知;许可协议用户界面面板,用以接收 针对应用执行环境程序的用户许可协议的接受;以及安装进度用户 界面面板,用以使用单个进度指示器来呈现软件应用和应用执行环 境程序二者的安装进度,其中所述进度指示器贯穿软件应用和应用 执行环境程序二者的安装。

所述提供可以包括:通过参考软件应用的安装包,启动应用执 行环境程序的第一安装程序;利用将要安装应用执行环境程序这一 指示,从第一安装程序调用所述安装包的第二安装程序;由第二安 装程序呈现包括插入通知的用户界面;以及在用户接受应用执行环 境程序的许可协议之后,安装应用执行环境程序并继而安装软件应 用。而且,所述安装可以包括:第二安装程序驱动应用执行环境程 序的安装、继而驱动软件应用的安装,这在事务上是作为单个安装, 使用贯穿安装的安装进度条

所述提供可以包括:向目标计算机提供包括应用执行环境程序 和安装程序的安装程序包,以便通过运行被拷贝到目标计算机的应 用执行环境中的安装程序来安装应用执行环境程序和软件应用。而 且,可操作以用于与目标计算机交互从而执行这些操作的一个或多 个计算机可以包括:服务器,其可操作以用于通过数据通信网络来 与目标计算机交互;以及目标计算机,其可以操作以用于作为客户 端来与服务器交互。而且,目标计算机可以包括运行web浏览器的 个人计算机(例如,台式计算机)或者运行无线应用协议浏览器的 移动通信设备(例如,移动电话)。

可以实现本说明中所描述主题的特定实施方式,以实现以下一 个或多个优点。运行时(或者更一般地,软件程序)可以包含其自 己的安装逻辑。运行时可以在其自己的安装过程中使用其自己的用 户界面以及其他工具。用于运行时的安装程序可以从正在安装的运 行时内运行。由于无需使用完备的安装引擎,因此安装程序的大小 可以减小,这继而可以导致安装程序-运行时组合的下载大小的减小 (仅需传输运行时的单个拷贝)。由于安装程序可以假定运行时将 可用于提供用户界面和其他工具,因此安装程序无需复制运行时本 身中可用的工具,由此降低了运行时和安装程序包的总大小。安装 成功率可以提高。用于安装的用户界面可以嵌入在运行时中并且由 安装程序使用,使得安装程序在运行时安装和应用安装两者期间可 以具有相同的外观和感受。而且,通过提供在运行时上运行用以产 生安装用户界面的用户界面代码,安装程序可以提供其自己的外观 和感受以用于安装。

可以按照两种方式来使用运行时的单个拷贝。首先,安装程序 本身可以在安装包中包含的运行时拷贝之上运行。第二,安装程序 中的逻辑可以使用运行时的该相同拷贝作为在目标计算机上安装运 行时的源。安装程序可以在目标计算机上操作尚未安装在目标计算 机上的运行时上进行操作。安装程序可以内置于正在安装的运行时 中。运行时可以设计为以两种不同的模式运行:已安装模式(其中, 运行时在特定位置处注册),以及x-拷贝模式(其中,运行时可执 行文件可以直接从盘运行,而无需通过OS注册)。运行时可以按照 x-拷贝模式执行,以便按照已安装模式来安装运行时。由此,运行时 实际上可以安装其本身。

此外,软件应用和应用所依赖的运行时(不论其是否已经安装 在目标计算机上)可以在组合工作流中安装到目标计算机上。组合 工作流可以通过单个安装过程来指引用户,该单个安装过程利用最 小数目的交互来安装应用和运行时二者。两个安装(运行时的安装 和依赖于该运行时的应用的安装)可以在运行中组合为单个统一的 安装序列,其中安装过程和安装用户界面二者都可以针对应用和运 行时而组合。可以改进安装的简易性和可用性,使得安装过程更加 流线化并且更少地打扰用户,这可以导致高成功率,因为很多用户 可能完成安装过程而不是中途改变主意。由此,用户使运行时得以 安装的负担可以有效地最小化。而且,应用和该应用所依赖的运行 时的安装可以交替进行。

本说明书所描述主题的一个或多个实施方式的细节记载在附图 和下文描述中。根据该描述、附图以及权利要求书,本发明的其他 特征、方面和优点将变得易见。

附图说明

图1A示出了用于软件分发和安装的示例性系统。
图1B示出了可以用来安装应用执行环境的示例元件。
图2A示出了提供具有应用执行环境和在该应用执行环境中运 行的安装程序的安装程序包的示例过程。
图2B示出了将应用执行环境程序安装到目标计算机的示例过 程。
图2C示出了将应用执行环境程序安装到目标计算机的另一示例 过程。
图3A示出了安装应用执行环境和软件应用的示例过程。
图3B示出了安装应用执行环境和软件应用的示例过程。
图4示出了可以在安装应用执行环境和软件应用时使用的示例 组件。
图5A至图5E示出了可以在安装应用执行环境和软件应用时使 用的示例用户界面面板。
在各个附图中,类似的参考标号和标记指示类似的元素。

具体实施方式

图1A示出了用于软件分发和安装的示例系统。分发者105可以 提供应用执行环境(AEE)程序110、一个或多个安装程序115以及 将要在目标计算机130上安装的一个或多个软件应用120。分发者 105使安装程序包125可以用于将一个或多个软件程序安装到计算 机130上。安装程序包125可以包括AEE安装程序和AEE程序。此 外,安装程序包125可以包括一个或多个应用120或这类应用的参 考,以便随同应用执行环境程序110一起安装。
分发者105可以是软件开发者、发布者、销售者或者分发软件 的其他实体,或者是他们使用的计算机。例如,分发者105可以是 通过网络100提供软件下载工具的服务器或者服务器集群,其中网 络100例如局域网、对等网络、无线网络、因特网或者万维网。安 装程序包125可被分发到诸如压缩盘(CD)、数字通用盘(DVD) 和软盘的物理介质上,或者由可以用来递送数字内容的其他技术来 分发。
目标计算机130包括软件和硬件二者。硬件包括输入/输出设备 140、一个或多个处理器145以及至少一个计算机可读介质150(例 如,存储器设备、存储设备或者一个或多个这种设备的组合)。软 件可以包括操作系统135、分发者105提供的软件元件在操作系统 135上操作。应用执行环境110使用操作系统135来与计算机130 的其他元件交互。应用执行环境110可以提供各种工具服务,以供 应用执行环境中运行的应用使用。这些工具服务可以包括:文件系 统访问、窗口和菜单、与OS外壳的集成(例如,OS 浏览器或OS Finder)、文件扩展名注册、文档处理支持(例 如,HTML引擎和PDF引擎)、字符串操控、图形、连网、通知工 具、寻址外设或者可以使用运行时库提供的其他类型功能。而且, 应用执行环境110可以包括跨平台应用程序接口(API)112,其为 应用执行环境中运行的应用提供服务,并且抽象出应用执行环境110 被设计在其上运行的各种硬件和OS平台的细节。 由此,应用执行环境(AEE)110可以是跨平台的运行时环境, 例如加利福尼亚州San Jose的Adobe System公司提供的 Integrated Runtime(AIRTM)软件。在一些实现中,应用执行环境110 可以从应用的编码表示中加载应用。例如,编码表示可以具有诸如 编程语言的预定义句法结构(例如,源代码),或者可以包括良好 定义的虚拟指令(例如,与平台无关的字节码,诸如Macromedia 字节码)。为了加载这样的应用,应用执行环境110可以将 应用的编码表示解码为指令,并且可以执行应用的指令。
除了充当应用执行环境之外,AEE 110还可以充当用于其自身以 及在AEE 110上运行的应用120二者的应用安装环境。在编写安装 程序115(用于AEE 110、应用120或其组合)时,可以使用AEE 110 的用户接口和语言工具(例如,HTML、MXML(多媒体扩展标记语 言)、以及诸如用于ActionScript和JavaScript的脚本支持)。这有 助于减小安装程序的大小,因为安装程序115中通常需要的多数编 程逻辑可以并入到AEE 100中。
将要输入到AEE 110中的安装/卸载工具的扩展可以因实现而 异。在一些情况下,AEE 110可以根据来自一个或多个适当安装程 序的请求来提供执行全部安装操作的API。在其他情况下,某些安装 操作可以在一个或多个安装程序中提供,并且可以使用运行时的较 低级API(例如,文件系统访问API)完成在计算机130上的安装操 作。
图2A示出了提供具有应用执行环境以及在该应用执行环境中 运行的安装程序的安装程序包的示例过程。可以标识用于目标计算 机的应用执行环境程序(210)。这可以包括:确定用于目标计算机 130作为其成员的目标计算机类别的应用执行环境程序。例如,目标 计算机类别可以包括那些运行OS的类别、那些运行 OS的类别以及那些运行OS的类别。继而可以准备 特定的应用执行环境程序(其包括用于目标计算机平台的、适当的 平台特定的本机代码),以便与每种目标计算机类别结合使用。
所标识的应用执行环境程序可以与用于软件程序的安装程序组 合到安装程序包中(215)。该组合也可以特定于计算机类别;由此, 可以针对每种计算机类别来执行标识和组合,以便为每种目标类别 准备安装包,该安装程序包继而可以独立地提供给作为类别成员的 每个目标计算机。备选地,可以针对每个目标计算机动态地执行标 识和组合,诸如在出于数字版权管理(DRM)目的而需要使所发送 的安装程序特定于目标计算机时。
安装程序本身在应用执行环境中运行,并且可以将安装程序包 提供给目标计算机,以便通过运行被拷贝到目标计算机的应用执行 环境中的安装程序来安装软件程序(220)。如图1A所示,安装程 序115按照与被设计为在应用执行110中运行的应用120相类似的 方式,而在应用执行环境110上运行。
图1B示出了可以用来安装应用执行环境的示例元件。安装程序 包125可以包括压缩归档文件(例如,Zip文件),其中已经封装了 AEE的单个拷贝。此外,可以将该压缩归档文件添加到自提取的可 执行存根(stub.exe),以形成安装程序包125(例如,供基于 OS的计算机使用)。在执行时,可执行存根中的自提 取器代码可以将AEE解归档到临时位置。AEE是这样设计的:其可 以适当的位置运行,也即,除了简单地拷贝文件之外无需其他安装 步骤。由此,提取的AEE拷贝可以立即用于运行安装程序。
在结合图1B描述的示例中,安装程序包125本身可以被视作安 装程序,因为包125是开始安装过程的可执行文件。在其他情况中, 安装程序包125可以是压缩归档文件本身。例如,对于OS 计算机而言,安装程序包125可以是磁盘镜像格式的“.dmg”文件。 在这种情况下,用户可以打开.dmg文件(例如,双击该文件)并继 而装载其中包括的AEE安装程序。而且,安装程序包125可以包括 一个或多个附加安装程序,下文将进一步讨论。
在任意情况下,应用执行环境110可以包括用于将软件安装在 目标计算机130上的安装/卸载代码160,跨平台应用程序接口112 可以包括用于安装/卸载代码160的安装/卸载界面170,并且安装程 序115可以包括用户接口代码175。当安装程序115在目标计算机上 的AEE 110中运行时,安装程序115可以使用AEE 110的安装界面 170来实现新AEE版本的安装(例如,AEE 100本身),并且安装 程序115可以使用用户接口代码175(例如,超文本标记语言、 ActionScript或者SWF代码)来生成和呈现用于安装过程的用户界 面180,其中用户接口代码175也可以使用AEE 110来运行。
例如,安装程序115可以包含使用FlexTM软件、 代码或者ActionScript代码(或其组合)编写的用户界面,其中该用 户界面(UI)与嵌入AEE 110中的逻辑进行通信。(出于此目的) AEE 110中主类的名称可以是“运行时安装程序”,并且可以创建 运行时安装程序的实例,可以在该实例上设置某些属性,继而可以 启动运行时安装程序。运行时安装程序继而可以分派事件,以便随 着安装的进行来报告进度(例如,安装的百分比,是否发生错误等 等)。这些事件可以由安装程序115中的代码捕获,这将导致UI被 更新。注意,两个方向的通信都可以使用事件来实现。由此,当用 户接受AEE 110的最终用户许可协议时(以下进一步讨论),可以 从UI向运行时安装程序类发送事件,告知运行时安装程序进行安装。 继而,进度事件可以反向返回,并使进度条更新。
当安装程序115在目标计算机上的AEE 110上运行时,安装程 序115还可以导致在目标计算机上放置卸载程序(uninstaller),其 中,卸载程序在AEE 110中运行。卸载程序可以是AEE 110的另一 拷贝以及运行于其上的代码(例如,FlexTM代码)。由此,安装程 序可以使用安装界面170来实现AEE 110的安装,并且卸载程序可 以使用卸载界面170来实现AEE 110的卸载。此外,AEE 110中的 安装/卸载代码160可被设计为直接在目标计算机上进行操作,以执 行安装和卸载任务(例如,在基于OS的计算机中),或者 安装/卸载代码160可被设计为与OS 135提供的安装/卸载工具165 (例如,基于OS的计算机中的安装程 序API)进行接口通信。
在上面给出的示例中,在基于OS的计算机和基于 OS的计算机上,运行时安装程序类的实现可能具有很 大差别。在基于OS的计算机上,运行时安装程序可以 使用AEE 110中仅涉及安装的API来进行操作,因为所述API使用 安装服务来执行安装操作。在基于OS的计算机 或者基于OS的计算机上,运行时安装程序可以使用AEE 110 中的文件系统API来进行操作。在任一情况下,运行时安装程序类 都可以定义跨平台接口,安装程序115可以访问并且以相同的方式 使用该接口,而不论其运行在基于OS的计算机上还是基于 OS的计算机上(也即,安装程序115中无需具有任何 本机代码)。还可以使用其他方法。例如,AEE 110可以提供用于 调用本机代码的机制,并且安装程序115也可以使用该机制。
图2B示出了将应用执行环境程序安装到目标计算机的示例过 程。可以将安装程序包传送到目标计算机(230),以便在安装程序 包被调用时(例如,在安装程序包可执行文件被执行时)使目标计 算机执行安装操作。可以将应用执行环境程序拷贝到目标计算机 (235)。这可以包括将应用执行环境程序从压缩归档文件中提取到 目标计算机,此后,应用执行环境可用于运行安装程序。应用执行 环境程序可以按照x拷贝模式加载到目标计算机上(240)。在已经 将应用执行环境程序安装在目标计算机上之前,安装程序可以在目 标计算机上的已加载应用执行环境中运行(也即,其在x拷贝模式 中运行)(245)。安装程序可以向用户呈现包括各种UI面板的用 户界面(诸如下文将描述的),并且进行将应用执行环境程序(直 接从运行拷贝)到其最终安装位置的第二拷贝。
图2C示出了将应用执行环境程序安装到目标计算机的另一示例 过程。可以在目标计算机上的第一位置处进行应用执行环境程序的 第一拷贝(260)。这可以是已经下载到临时目录的应用执行环境程 序的可执行拷贝,其中该拷贝可以在安装完成前运行。可以启动执 行应用执行环境程序的第一拷贝(265)。
可以在目标计算机上的第二位置处进行应用执行环境程序的第 二拷贝(270)。可以在目标计算机上的第二位置处注册应用执行环 境程序(275)。这可以包括注册文件扩展名和MIME(多目的互联 网邮件扩展名)内容类型、注册用于卸载的指令、创建桌面快捷方 式和开始菜单条目等。可以在目标计算机上的第一位置删除应用执 行环境程序的第一拷贝(280)。注意,进行第二拷贝和删除第一拷 贝可以是与安装过程相集成的移动操作的部分。此外,拷贝、注册 和删除可以包括使用内置于应用执行环境程序本身中的逻辑。
图3A示出了安装应用执行环境和软件应用的示例过程。可以接 收提供软件应用安装的请求(305),这要求在应用执行环境上操作 (注意,不止一方可能满足该需求,因为可能有多个不同的应用执 行环境能够提供所需的支持)。可以进行检查,以确定应用执行环 境程序是否已经存在于目标计算机上(310)。可以使用各种方法来 确定应用安装程序是否已经存在于目标计算机上。例如,可以采用 内置在web浏览器中的功能以及正在阅览的页面,来确定应用执行 环境程序是否已经存在于目标计算机上。作为另一示例,用户可以 下载和运行如下小程序,该小程序执行检测并且报告或下载附加文 件(例如,安装程序)。作为另一示例,当应用执行环境程序安装 在计算机上时,其可以安装浏览器插件,该浏览器插件可以由所显 示的web页面来检测(例如,使用JavaScript),也即,不存在插件 将指示不存在应用执行环境程序。
如果应用执行环境程序还没有安装在计算机上,则可以在安装 序列中提供软件应用和应用执行环境程序二者的安装(315)。安装 序列可以包括用户界面面板,其包括关于将要安装应用执行环境程 序的通知。此外,软件应用和应用执行环境程序的安装可以联系在 一起,作为单个安装事务,使其一起成功或者失败。
图3B示出了安装应用执行环境和软件应用的示例过程。不论如 何接收到(例如,在CD上或者通过网络下载),可以通过参考软 件应用的安装包来启动应用执行环境程序的第一安装程序(325)。 第一安装程序可以设计为安装应用执行环境程序,但是也可设计为 接受指示软件应用的安装包位置的自变量(例如,到本地或者远程 存储库的统一资源定位符)。
利用将要安装应用执行环境程序的指示,可以从第一安装程序 调用安装包的第二安装程序(330)。第二安装程序可以设计为安装 在应用执行环境上运行的软件应用。第二安装程序可以是内置于应 用执行环境中的安装/卸载工具的部分,如结合图4示出和描述的。 由此,第二安装程序可以是应用执行环境本身的部分,使得安装应 用是环境提供的服务之一。
第二安装程序可以呈现用户界面(335),其包括关于将要随同 软件应用安装应用执行环境程序的通知。这允许用户完全了解应用 以及在其上运行的底层环境的计划组合安装,但是该信息是在用于 软件应用本身的安装序列的上下文中提供的。由此,从用户的度 看,可以类似于应用的元件(其无法被取消选中)那样来处理应用 执行环境程序,即使该应用执行环境程序是充当软件应用的运行时 环境的完全独立、分离的软件程序。
而且,由于应用执行环境是分离的软件应用,安装序列还可以 包括针对应用执行环境程序的最终用户许可协议的用户接受的请求 (340)。如果接收到用户接受,则可以安装应用执行环境程序,并 继而安装软件应用(345),这在事务上是作为一个安装,其使用贯 穿(span)两个安装的安装进度条。
图4示出了可以在安装应用执行环境和软件应用时使用的示例 组件。用于运行时的安装程序包可以包括运行时安装程序455和运 行时460,如上文所述。此外,运行时460可以包括应用安装程序 465,其用来安装在运行时上运行的应用。当被拷贝到目标计算机时, 安装程序包可以创建运行时安装程序的本地拷贝456,其可以通过对 应用安装包470(其可以是本地的或远程的)的参考(REF)来调用, 而且安装程序包可以抽取运行时的第一拷贝461(可以在计算机上的 临时位置适当运行的运行时x拷贝)。继而,通过利用参考以及利 用还要执行运行时安装(RTI)的指示/指令(例如,指示还应当安 装运行时的标志),运行时安装程序的本地拷贝456可以调用第一 运行时拷贝461中的应用安装程序。第一运行时拷贝461中的应用 安装程序可以呈现用户界面面板480,其中至少一个具有关于还要安 装运行时的插入通知485。此外,由应用安装程序呈现的面板480 的初始安装用户界面面板可以是与软件应用有关的面板,由此使用 户清楚主要目的是安装软件应用;运行时安装作为辅助过程存在。
第一运行时拷贝461中的应用安装程序(例如,使用运行时内 置本机代码的ActionScript代码)继而可以驱动软件应用及其所依赖 的运行时的安装,这在事务上是作为一个安装490;如果任一安装失 败(或者被取消),则整个组合安装回滚并撤消。可以根据第一运 行时拷贝461来创建运行时的已安装拷贝462,并将其在目标计算机 上注册。继而,可以根据应用安装包470来创建应用475的已安装 拷贝。最后,可以从目标计算机上删除第一运行时拷贝461和运行 时安装程序拷贝456,或者将其转变为新状态(例如,可将其移动并 转换为用于应用475和运行时462的卸载程序)。由此,运行时可 以提供用于应用的执行环境和用于应用及其本身的安装/卸载环境二 者。
图5A至图5E示出了可以在安装应用执行环境和软件应用时使 用的示例用户界面面板。web浏览器窗口500示出了示例站点,其 中可以下载MPEG(移动图像专家组)音频播放器应用。该音频播 放器应用依赖于运行时(例如,AIRTM软件)在给定的计算 机上操作。面板505包括关于所需运行时的注解510,以及致使下载 运行时安装程序的下载链接515。
下载链接515可以包括SWF徽章,其使用Player的API 来检测运行时是否已经安装到本地计算机上。SWF徽章(在web页 面中运行的SWF)可以在SWF徽章显示在页面中时检测运行时。继 而,当用户点击SWF徽章时,其根据是否已经安装运行时而执行不 同操作。如果运行时已经安装在本地计算机上,则SWF徽章可以直 接调取运行时来处理音频播放器应用的安装。如果运行时没有安装 在本地计算机上,则SWF徽章可以着手下载运行时的安装程序,并 且发送音频播放器应用的统一资源定位符(URL),以便安装程序 在启动时使用。URL可以由SWF徽章在消息中经由应用间通信 (IAC)机制来发送,诸如LocalConnection(其使用共享存储器分段 进行操作)或者其他IAC机制。所采用的IAC机制可由web浏览器 (或者其插件)和应用执行环境二者来支持。
当用户点击链接515时,如上所述,这可以导致下载安装包, 以及适当的通知和用户授权。例如,链接515可以导致安装包被保 存在本地计算机以备后用,或者链接515可以导致安装程序被下载 并立即运行(例如,如上所述,如果安装包是具有内嵌运行时的安 装程序可执行文件)。此外,可以通过由web浏览器呈现和控制的 用户界面来获得针对运行时初始下载的用户授权。
可以指示运行时的安装程序来安装其自身以及音频播放器应用 二者。一旦运行时安装程序开始在目标计算机上运行,所呈现的用 户界面可以是应用安装的用户界面。例如,运行时安装程序可以调 用音频播放器应用的应用安装程序,并伴有还要安装运行时的指示。 由此,呈现给用户的第一面板可以是应用安装面板520,如图5B所 示,其示出了将要安装的应用的细节,并且请求继续安装的用户确 认。
可以使用已经下载、但尚未安装的运行时来绘制应用安装UI。 可以使用应用安装UI来收集针对应用的用户偏好(例如,安装位置、 在桌面是否添加快捷方式、在安装之后是否启动程序等)。然而, 由于还要安装运行时,因此可以在应用安装UI中插入一个或多个附 加项,以指示将要进行运行时安装。这些插入项可以包括通知和用 户输入要求。例如,如图5C所示,第二面板530可以包括关于运行 时安装的通知535。通知535可以作为无法关闭的选项来呈现(如图 所示,复选框变灰)。当用户按下继续按钮时,可以呈现第三面板 540,以获得针对运行时的最终用户许可协议的用户接受。
一旦用户确认了组合安装,则安装程序可以安装运行时,继而 安装应用。两个安装可以作为具有组合进度更新的单个操作呈现给 用户界面。例如,如图5E所示,安装进度面板550可以包括进度条 555,其贯穿运行时安装和应用安装。来自运行时安装的进度信息可 以发送回应用安装逻辑,并且显示在所示进度条555的前50%中。 当运行时安装完成时,来自应用安装的进度可以显示在所示进度条 555的后50%。当应用安装完成时,随后可以运行和使用应用。还应 注意,面板520、530、540、550可以呈现在用于组合安装过程的单 个UI窗口中。
本说明书中描述的主题和功能性操作的实施方式可以以数字电 子电路实现,或者以计算机软件、固件或硬件来实现,该计算机软 件、固件或硬件包括本说明书中公开的结构及其等同结构、或是它 们的一个或多个的组合。本说明书中描述的主题的实施方式可以实 现为一个或多个计算机程序产品,也即,在计算机可读介质上编码 的、以便由数据处理装置执行或控制数据处理装置操作的一个或多 个计算机程序指令模。有形程序载体可以是传播的信号或者计算 机可读介质。传播信号是人工产生的信号,例如,机器产生的电信 号、光信号或者电磁信号,生成该信号以对信息进行编码,以便传 输到适当的接收器装置。计算机可读介质可以是机器可读的存储设 备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号 的组合、或者它们中的一个或多个的结合。
术语“数据处理装置”包括用于处理数据的所有装置、设备和 机器,例如包括可编程处理器、计算机,或者多个处理器或计算机。 除了硬件之外,该装置可以包括为考虑中的计算机程序创建执行环 境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操 作系统、跨平台运行时环境,或者它们中一个或多个的结合的代码。 此外,装置可以采用各种不同的计算模型基础架构,诸如web服务、 分布式计算和网格计算基础架构。
计算机程序(也已知为程序、软件、软件应用、脚本或代码) 可以由任意形式的编程语言编写,包括编译语言或解释语言,并且 该计算机程序可以任意形式部署,包括部署为单独的程序或模块、 组件、子例程、或者适于在计算环境中使用的其他单元。计算机程 序无需对应于文件系统中的文件。程序可以存储在保存其他程序或 数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的 一部分中,可以存储在专用于考虑中的程序的单个文件中、或者存 储在多个协同文件中(例如,存储一个或多个模块、子程序、或代 码部分的文件)。可以将计算机程序部署为在一个计算机上执行, 或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地 点分布且通过通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算 机程序的一个或多个可编程处理器执行,用于通过对输入数据进行 操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如 FPGA(现场可编程阵列)或ASIC(专用集成电路)的专用逻辑 电路执行,并且也可以将装置实现为所述专用逻辑电路
适于计算机程序执行的处理器例如包括通用和专用处理器两 者、以及任意类型的数字计算机的任意一个或多个处理器。通常, 处理器将从只读存储器或随机访问存储器或两者处接收指令和数 据。计算机的基本元件是用于执行指令的处理器以及用于存储指令 和数据的一个或多个存储设备。通常,计算机还将包括用于存储数 据的一个或多个海量存储设备,或被操作性地耦合为从所述用于存 储数据的一个或多个海量存储设备接收数据、向其传送数据、或者 进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计 算机不必一定具有这样的设备。而且,计算机可以嵌在其他设备中, 例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、 全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串 行总线(USB)闪存驱动),这仅是几例。适于存储计算机程序指 令和数据的计算机可读介质包括所有形式的非易失性存储器、介质 和存储设备,例如包括:半导体存储设备,如EPROM、EEPROM和 闪存设备;磁盘,如内部硬盘或可移动硬盘;磁光盘;以及CD-ROM 和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或是包 括在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可 以在具有用于向用户显示信息的显示设备以及用户可以通过其向计 算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例 如CRT(阴极射线管)或者LCD(液晶显示器)监视器,指点设备 例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的 交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如 视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任 意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件的 计算系统中,例如数据服务器;或实现在包括中间件组件的计算系 统中,例如应用服务器;或实现在包括前端组件的计算系统中,例 如具有图形用户接口或者web浏览器的客户端计算机,用户通过该 图形用户接口或web浏览器可以与本说明书中描述的主题的实现进 行交互;或实现在一个或多个这样的后端、中间件、或前端组件的 任意结合中。系统组件可以与任意形式或介质的数字数据通信(例 如,通信网络)互连。通信网络的示例包括局域网(“LAN”), 广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例 如,ad hoc对等网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互 远离,并且通常通过通信网络进行交互。客户端和服务器的关系是 借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算 机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本 发明的范围或者所要求保护内容的限制,而应当理解为是本发明具 体实施方式的特定特征的描述。本说明书中描述的在各个实施方式 的上下文中的某些特征也可以在单个实施方式中结合实现。相反, 在单个实施方式上下文中描述的各种特征也可以分别实现在多个实 施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描 述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来 自所要求保护的组合的一个或多个特征在一些情况下可以从该组合 中去除,并且所要求保护的组合可以针对子组合或组合的变形
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其 理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或 是要求执行全部所示的操作以得到期望的结果。在特定环境中,多 任务和并行处理可能是有利的。而且,在上述实施方式中多个系统 组件的分离不应被理解为在所有实施方式中需要这些操作,应当将 其理解为所描述的程序组件和系统通常可以在单个软件产品中集成 在一起,或是被打包到多个软件产品中。
由此,已经描述了本发明的具体实施方式。其他实施方式处于 所附权利要求的范围之内。例如,权利要求中记载的动作可以按照 不同的顺序来执行并且仍然达到预期的结果。还可以支持各种给移 动设备和其他设备(例如,具有嵌入式操作系统的设备)。

背景技术

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈