專(zhuān)利名稱(chēng):組合的應(yīng)用和執(zhí)行環(huán)境安裝的制作方法
組合的應(yīng)用和執(zhí)行環(huán)境安裝
背景技術(shù):
本說(shuō)明書(shū)涉及在計(jì)算機(jī)平臺(tái)上安裝包括應(yīng)用執(zhí)行環(huán)境(例如, 虛擬機(jī)和運(yùn)行時(shí)環(huán)境)在內(nèi)的軟件。計(jì)算機(jī)平臺(tái)是包括用于該計(jì)算
機(jī)的特定操作系統(tǒng)(OS )(例如,WINDOWS OS, MAC OS或 者LINUX OS)的計(jì)算機(jī)。軟件開(kāi)發(fā)者經(jīng)常創(chuàng)建可以針對(duì)各自的計(jì) 算機(jī)平臺(tái)適當(dāng)編譯的源代碼,并且繼而獨(dú)立地生成用于每個(gè)目標(biāo)平 臺(tái)的本機(jī)安裝包。每個(gè)本機(jī)安裝包與特定的計(jì)算機(jī)平臺(tái)相關(guān)聯(lián),并
于特定的目標(biāo)平臺(tái),適當(dāng)?shù)谋緳C(jī)安裝包從軟件開(kāi)發(fā)者處荻取,并且 可以使用OS安裝程序(installer)來(lái)處理本機(jī)安裝包以便安裝應(yīng)用。 例如,可以使用InstallShield⑧軟件來(lái)產(chǎn)生用于在WINDOWS⑧機(jī)器 上安裝的.msi文件,并且可以使用不同的軟件工具來(lái)產(chǎn)生用于在 MAC⑧機(jī)器上安裝的.pkg文件。
一些軟件開(kāi)發(fā)者已經(jīng)創(chuàng)建了部署在最終用戶系統(tǒng)上的跨平臺(tái)安 裝包,例如Java Archive (JAR)文件格式。繼而可以展開(kāi)(例如, 解密和解壓縮)跨平臺(tái)包,并使用軟件開(kāi)發(fā)者和/或跨平臺(tái)包格式的 開(kāi)發(fā)者所提供的代碼將跨平臺(tái)包直接寫(xiě)入磁盤(pán)。通常,這種跨平臺(tái) 軟件在目標(biāo)平臺(tái)上的運(yùn)行依賴(lài)于先前安裝的虛擬機(jī),例如Java⑧虛擬 機(jī)(JVM )(可以從Sun Microsystems公司獲得)。
JVM提供了用于包括WINDOWS OS、 MAC OS以及LINUX OS在內(nèi)的多數(shù)操作系統(tǒng)的運(yùn)行時(shí)環(huán)境和Java解釋器。Java源代碼文
擴(kuò)展名的文件),其繼而由Java解釋器來(lái)執(zhí)行。可以通過(guò)適時(shí)編譯 器(JIT)將字節(jié)碼直接轉(zhuǎn)換為機(jī)器語(yǔ)言指令。其他的示例運(yùn)行時(shí)環(huán) 境包括C運(yùn)行時(shí)、.NET以及Adobe⑧集成運(yùn)行時(shí)。Flash Player (可以乂人Adobe System Incorporated獲4尋)是另一 虛擬機(jī),其可以用來(lái)運(yùn)行或解析Flash⑧文件,包括ActionScript或 Shockwave Flash ( SWF ) 。 Flash Player和Flash⑧創(chuàng)作軟件允許開(kāi) 發(fā)在特定目標(biāo)平臺(tái)上運(yùn)行的projector (自運(yùn)行的SWF電影),這是 通過(guò)將SWF數(shù)據(jù)嵌入到Flash⑧播放器可執(zhí)行文件中以創(chuàng)建新的.exe 文件,并操縱該.exe文件中的字節(jié)模式以指明SWF數(shù)據(jù)的存在。繼 而可以分發(fā)這樣的projector以便在目標(biāo)平臺(tái)上使用。
傳統(tǒng)上,運(yùn)行時(shí)及其安裝程序是獨(dú)立開(kāi)發(fā)的。通常,用于運(yùn)行 時(shí)的安裝引擎是從第三方獲取或許可的。用于運(yùn)行時(shí)的安裝程序包 含其自己的用戶界面以及用于與目標(biāo)計(jì)算機(jī)平臺(tái)的OS交互的其他 工具。而且,需要首先安裝運(yùn)行時(shí)而后才可使用的應(yīng)用必須讓用戶 知道這一先決條件。在網(wǎng)絡(luò)下栽上下文中,作為獨(dú)立的過(guò)程,用戶 通常需要首先在下載并安裝運(yùn)行時(shí),繼而重新開(kāi)始應(yīng)用安裝過(guò)程。 備選地,可以將兩個(gè)安裝程序(一個(gè)用于運(yùn)行時(shí), 一個(gè)用于應(yīng)用) 鏈接在一起,使得即使應(yīng)用安裝過(guò)程自動(dòng)重啟,用戶也仍然會(huì)看到 兩個(gè)獨(dú)立的安裝對(duì)話框序列。
發(fā)明內(nèi)容
本說(shuō)明書(shū)描述了涉及在計(jì)算機(jī)平臺(tái)上安裝包括應(yīng)用執(zhí)行環(huán)境 (例如,虛擬機(jī)和運(yùn)行時(shí)環(huán)境)在內(nèi)的軟件的技術(shù)。
總體上,本說(shuō)明書(shū)中所描述主題的一個(gè)或多個(gè)方面可以在一個(gè) 或多個(gè)方法中實(shí)現(xiàn),所述方法包括接收在目標(biāo)計(jì)算機(jī)上提供軟件 應(yīng)用安裝的請(qǐng)求,其中該軟件應(yīng)用需要應(yīng)用執(zhí)行環(huán)境程序的操作, 該應(yīng)用執(zhí)行環(huán)境程序包括跨平臺(tái)應(yīng)用程序接口 ,用以為應(yīng)用執(zhí)行環(huán) 境中運(yùn)行的應(yīng)用提供服務(wù);以及當(dāng)目標(biāo)計(jì)算機(jī)缺少該應(yīng)用執(zhí)行環(huán)境 程序時(shí),在安裝序列中提供軟件應(yīng)用以及應(yīng)用執(zhí)行環(huán)境程序二者的 安裝;其中軟件應(yīng)用和應(yīng)用執(zhí)行環(huán)境程序的安裝作為單個(gè)安裝事務(wù) 聯(lián)系在一起,從而其一起成功或失敗。此方面的其他實(shí)施方式包括 相應(yīng)的系統(tǒng)、裝置和計(jì)算機(jī)程序產(chǎn)品。
9這些和其他實(shí)施方式可選地包括以下一個(gè)或多個(gè)特征。所述才是
供可以包括在安裝序列首次啟動(dòng)時(shí),提供與軟件應(yīng)用相關(guān)的初始 安裝用戶界面面板。安裝序列可以包括呈現(xiàn)給用戶的用戶界面面板, 其包括關(guān)于應(yīng)用執(zhí)行環(huán)境程序?qū)㈦S同軟件應(yīng)用安裝的通知。而且, 所述提供可以包括提供用戶界面面板,以便呈現(xiàn)給用戶,并收集 用于軟件應(yīng)用安裝的安裝偏好,其中所述通知包括軟件應(yīng)用安裝需 要應(yīng)用執(zhí)行環(huán)境程序安裝的指示。
所述安裝序列可以包括安裝用戶界面面板,用以接收用戶希 望安裝軟件應(yīng)用的確認(rèn);用戶界面面板,包括關(guān)于應(yīng)用執(zhí)行環(huán)境程 序?qū)㈦S同軟件應(yīng)用安裝的通知;許可協(xié)議用戶界面面板,用以接收 針對(duì)應(yīng)用執(zhí)行環(huán)境程序的用戶許可協(xié)議的接受;以及安裝進(jìn)度用戶 界面面板,用以使用單個(gè)進(jìn)度指示器來(lái)呈現(xiàn)軟件應(yīng)用和應(yīng)用執(zhí)行環(huán) 境程序二者的安裝進(jìn)度,其中所述進(jìn)度指示器貫穿軟件應(yīng)用和應(yīng)用 執(zhí)行環(huán)境程序二者的安裝。
所述提供可以包括通過(guò)參考軟件應(yīng)用的安裝包,啟動(dòng)應(yīng)用執(zhí) 行環(huán)境程序的第 一安裝程序;利用將要安裝應(yīng)用執(zhí)行環(huán)境程序這一 指示,從第一安裝程序調(diào)用所述安裝包的第二安裝程序;由第二安 裝程序呈現(xiàn)包括插入通知的用戶界面;以及在用戶接受應(yīng)用執(zhí)行環(huán) 境程序的許可協(xié)議之后,安裝應(yīng)用執(zhí)行環(huán)境程序并繼而安裝軟件應(yīng) 用。而且,所述安裝可以包括第二安裝程序驅(qū)動(dòng)應(yīng)用執(zhí)行環(huán)境程 序的安裝、繼而驅(qū)動(dòng)軟件應(yīng)用的安裝,這在事務(wù)上是作為單個(gè)安裝, 使用貫穿安裝的安裝進(jìn)度條。
所述提供可以包括向目標(biāo)計(jì)算機(jī)提供包括應(yīng)用執(zhí)行環(huán)境程序 和安裝程序的安裝程序包,以便通過(guò)運(yùn)行被拷貝到目標(biāo)計(jì)算機(jī)的應(yīng) 用執(zhí)行環(huán)境中的安裝程序來(lái)安裝應(yīng)用執(zhí)行環(huán)境程序和軟件應(yīng)用。而 且,可操作以用于與目標(biāo)計(jì)算機(jī)交互從而執(zhí)行這些操作的一個(gè)或多 個(gè)計(jì)算機(jī)可以包括服務(wù)器,其可操作以用于通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)來(lái) 與目標(biāo)計(jì)算機(jī)交互;以及目標(biāo)計(jì)算機(jī),其可以操作以用于作為客戶 端來(lái)與服務(wù)器交互。而且,目標(biāo)計(jì)算機(jī)可以包括運(yùn)行web瀏覽器的個(gè)人計(jì)算機(jī)(例如,臺(tái)式計(jì)算機(jī))或者運(yùn)行無(wú)線應(yīng)用協(xié)議瀏覽器的
移動(dòng)通信i殳備(例如,移動(dòng)電話)。
可以實(shí)現(xiàn)本說(shuō)明中所描述主題的特定實(shí)施方式,以實(shí)現(xiàn)以下一 個(gè)或多個(gè)優(yōu)點(diǎn)。運(yùn)行時(shí)(或者更一般地,軟件程序)可以包含其自 己的安裝邏輯。運(yùn)行時(shí)可以在其自己的安裝過(guò)程中使用其自己的用 戶界面以及其他工具。用于運(yùn)行時(shí)的安裝程序可以從正在安裝的運(yùn) 行時(shí)內(nèi)運(yùn)行。由于無(wú)需使用完備的安裝引擎,因此安裝程序的大小 可以減小,這繼而可以導(dǎo)致安裝程序-運(yùn)行時(shí)組合的下載大小的減小 (僅需傳輸運(yùn)行時(shí)的單個(gè)拷貝)。由于安裝程序可以假定運(yùn)行時(shí)將 可用于提供用戶界面和其他工具,因此安裝程序無(wú)需復(fù)制運(yùn)行時(shí)本 身中可用的工具,由此降低了運(yùn)行時(shí)和安裝程序包的總大小。安裝
安裝程序使用,使得安裝程序在運(yùn)行時(shí)安裝和應(yīng)用安裝兩者期間可 以具有相同的外觀和感受。而且,通過(guò)提供在運(yùn)行時(shí)上運(yùn)行用以產(chǎn) 生安裝用戶界面的用戶界面代碼,安裝程序可以提供其自己的外觀 和感受以用于安裝。
可以按照兩種方式來(lái)使用運(yùn)行時(shí)的單個(gè)拷貝。首先,安裝程序
中的邏輯可以使用運(yùn)行時(shí)的該相同拷貝作為在目標(biāo)計(jì)算機(jī)上安裝運(yùn) 行時(shí)的源。安裝程序可以在目標(biāo)計(jì)算機(jī)上操作尚未安裝在目標(biāo)計(jì)算 機(jī)上的運(yùn)行時(shí)上進(jìn)行操作。安裝程序可以?xún)?nèi)置于正在安裝的運(yùn)行時(shí)
中。運(yùn)行時(shí)可以設(shè)計(jì)為以?xún)煞N不同的模式運(yùn)行已安裝模式(其中, 運(yùn)行時(shí)在特定位置處注冊(cè)),以及x-拷貝模式(其中,運(yùn)行時(shí)可執(zhí) 行文件可以直接從盤(pán)運(yùn)行,而無(wú)需通過(guò)OS注冊(cè))。運(yùn)行時(shí)可以按照 x-拷貝模式執(zhí)行,以便按照已安裝模式來(lái)安裝運(yùn)行時(shí)。由此,運(yùn)行時(shí) 實(shí)際上可以安裝其本身。
此外,軟件應(yīng)用和應(yīng)用所依賴(lài)的運(yùn)行時(shí)(不論其是否已經(jīng)安裝 在目標(biāo)計(jì)算機(jī)上)可以在組合工作流中安裝到目標(biāo)計(jì)算機(jī)上。組合 工作流可以通過(guò)單個(gè)安裝過(guò)程來(lái)指引用戶,該單個(gè)安裝過(guò)程利用最小數(shù)目的交互來(lái)安裝應(yīng)用和運(yùn)行時(shí)二者。兩個(gè)安裝(運(yùn)行時(shí)的安裝 和依賴(lài)于該運(yùn)行時(shí)的應(yīng)用的安裝)可以在運(yùn)行中組合為單個(gè)統(tǒng)一的 安裝序列,其中安裝過(guò)程和安裝用戶界面二者都可以針對(duì)應(yīng)用和運(yùn) 行時(shí)而組合??梢愿倪M(jìn)安裝的簡(jiǎn)易性和可用性,使得安裝過(guò)程更加 流線化并且更少地打擾用戶,這可以導(dǎo)致高成功率,因?yàn)楹芏嘤脩?可能完成安裝過(guò)程而不是中途改變主意。由此,用戶使運(yùn)行時(shí)得以 安裝的負(fù)擔(dān)可以有效地最小化。而且,應(yīng)用和該應(yīng)用所依賴(lài)的運(yùn)行 時(shí)的安裝可以交替進(jìn)行。
本"i兌明書(shū)所描述主題的一個(gè)或多個(gè)實(shí)施方式的細(xì)節(jié)記載在附圖 和下文描述中。根據(jù)該描述、附圖以及權(quán)利要求書(shū),本發(fā)明的其他 特征、方面和優(yōu)點(diǎn)將變得易見(jiàn)。
圖1A示出了用于軟件分發(fā)和安裝的示例性系統(tǒng)。 圖1B示出了可以用來(lái)安裝應(yīng)用執(zhí)行環(huán)境的示例元件。 圖2A示出了提供具有應(yīng)用執(zhí)行環(huán)境和在該應(yīng)用執(zhí)行環(huán)境中運(yùn) 行的安裝程序的安裝程序包的示例過(guò)程。
圖2B示出了將應(yīng)用執(zhí)行環(huán)境程序安裝到目標(biāo)計(jì)算機(jī)的示例過(guò)程。
圖2C示出了將應(yīng)用執(zhí)行環(huán)境程序安裝到目標(biāo)計(jì)算機(jī)的另一示例 過(guò)程。
圖3A示出了安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用的示例過(guò)程。 圖3B示出了安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用的示例過(guò)程。 圖4示出了可以在安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用時(shí)使用的示例 組件。
圖5A至圖5E示出了可以在安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用時(shí)使 用的示例用戶界面面板。
在各個(gè)附圖中,類(lèi)似的參考標(biāo)號(hào)和標(biāo)記指示類(lèi)似的元素。
具體實(shí)施例方式
圖1A示出了用于軟件分發(fā)和安裝的示例系統(tǒng)。分發(fā)者105可以提供應(yīng)用執(zhí)行環(huán)境(AEE)程序110、 一個(gè)或多個(gè)安裝程序115以及將要在目標(biāo)計(jì)算機(jī)130上安裝的一個(gè)或多個(gè)軟件應(yīng)用120。分發(fā)者105使安裝程序包125可以用于將一個(gè)或多個(gè)軟件程序安裝到計(jì)算機(jī)130上。安裝程序包125可以包括AEE安裝程序和AEE程序。此外,安裝程序包125可以包括一個(gè)或多個(gè)應(yīng)用120或這類(lèi)應(yīng)用的參考,以便隨同應(yīng)用執(zhí)行環(huán)境程序110—起安裝。
分發(fā)者105可以是軟件開(kāi)發(fā)者、發(fā)布者、銷(xiāo)售者或者分發(fā)軟件的其他實(shí)體,或者是他們使用的計(jì)算機(jī)。例如,分發(fā)者105可以是通過(guò)網(wǎng)絡(luò)100提供軟件下載工具的服務(wù)器或者服務(wù)器集群,其中網(wǎng)絡(luò)100例如局域網(wǎng)、對(duì)等網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、因特網(wǎng)或者萬(wàn)維網(wǎng)。安裝程序包125可被分發(fā)到諸如壓縮盤(pán)(CD)、數(shù)字通用盤(pán)(DVD)和軟盤(pán)的物理介質(zhì)上,或者由可以用來(lái)遞送數(shù)字內(nèi)容的其他技術(shù)來(lái)分發(fā)。
目標(biāo)計(jì)算機(jī)130包括軟件和硬件二者。硬件包括輸入/輸出設(shè)備140、 一個(gè)或多個(gè)處理器145以及至少一個(gè)計(jì)算4幾可讀介質(zhì)150 (例如,存儲(chǔ)器設(shè)備、存儲(chǔ)設(shè)備或者一個(gè)或多個(gè)這種設(shè)備的組合)。軟件可以包括操作系統(tǒng)135、分發(fā)者105提供的軟件元件在操作系統(tǒng)135上操作。應(yīng)用執(zhí)行環(huán)境110使用操作系統(tǒng)135來(lái)與計(jì)算機(jī)130的其他元件交互。應(yīng)用執(zhí)行環(huán)境110可以提供各種工具服務(wù),以供應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用使用。這些工具服務(wù)可以包括文件系統(tǒng)訪問(wèn)、窗口和菜單、與OS外殼的集成(例如,WINDOWS OS瀏覽器或MAC OS Finder)、文件擴(kuò)展名注冊(cè)、文檔處理支持(例如,HTML引擎和PDF引擎)、字符串操控、圖形、連網(wǎng)、通知工具、尋址外設(shè)或者可以使用運(yùn)行時(shí)庫(kù)提供的其他類(lèi)型功能。而且,應(yīng)用執(zhí)行環(huán)境110可以包括跨平臺(tái)應(yīng)用程序接口 (API) 112,其為應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用提供服務(wù),并且抽象出應(yīng)用執(zhí)行環(huán)境110被設(shè)計(jì)在其上運(yùn)行的各種硬件和OS平臺(tái)的細(xì)節(jié)。由此,應(yīng)用執(zhí)行環(huán)境(AEE) 110可以是跨平臺(tái)的運(yùn)行時(shí)環(huán)境,例^口力口利孑、畐尼亞州San Jose的Adobe System 7>司才是供的Adobe Integrated Runtime ( AIR )軟件。在一些實(shí)現(xiàn)中,應(yīng)用執(zhí)行環(huán)境IIO可以從應(yīng)用的編碼表示中加載應(yīng)用。例如,編碼表示可以具有諸如編程語(yǔ)言的預(yù)定義句法結(jié)構(gòu)(例如,源代碼),或者可以包括良好定義的虛擬指令(例如,與平臺(tái)無(wú)關(guān)的字節(jié)碼,諸如MacromediaFlash⑧字節(jié)碼)。為了加載這樣的應(yīng)用,應(yīng)用執(zhí)4亍環(huán)境110可以將應(yīng)用的編碼表示解碼為指令,并且可以執(zhí)行應(yīng)用的指令。
除了充當(dāng)應(yīng)用執(zhí)行環(huán)境之外,AEE 110還可以充當(dāng)用于其自身以及在AEE 110上運(yùn)行的應(yīng)用120 二者的應(yīng)用安裝環(huán)境。在編寫(xiě)安裝程序U5(用于AEE 110、應(yīng)用120或其組合)時(shí),可以使用AEE 110的用戶接口和語(yǔ)言工具(例如,HTML、 MXML (多々某體擴(kuò)展標(biāo)記語(yǔ)言)、以及諸如用于ActionScript和JavaScript的腳本支持)。這有助于減小安裝程序的大小,因?yàn)榘惭b程序115中通常需要的多數(shù)編程邏輯可以并入到AEE 100中。
將要輸入到AEE 110中的安裝/卸載工具的擴(kuò)展可以因?qū)崿F(xiàn)而異。在一些情況下,AEE 110可以根據(jù)來(lái)自一個(gè)或多個(gè)適當(dāng)安裝程序的請(qǐng)求來(lái)提供執(zhí)行全部安裝操作的API。在其他情況下,某些安裝操作可以在 一 個(gè)或多個(gè)安裝程序中提供,并且可以使用運(yùn)行時(shí)的較低級(jí)API(例如,文件系統(tǒng)訪問(wèn)API)完成在計(jì)算機(jī)130上的安裝操作。
圖2A示出了提供具有應(yīng)用執(zhí)行環(huán)境以及在該應(yīng)用執(zhí)行環(huán)境中運(yùn)行的安裝程序的安裝程序包的示例過(guò)程??梢詷?biāo)識(shí)用于目標(biāo)計(jì)算機(jī)的應(yīng)用執(zhí)行環(huán)境程序(210)。這可以包括確定用于目標(biāo)計(jì)算機(jī)130作為其成員的目標(biāo)計(jì)算機(jī)類(lèi)別的應(yīng)用執(zhí)行環(huán)境程序。例如,目標(biāo)計(jì)算機(jī)類(lèi)別可以包括那些運(yùn)行WINDOWS OS的類(lèi)別、那些運(yùn)行MAC OS的類(lèi)別以及那些運(yùn)行LINUX OS的類(lèi)別。繼而可以準(zhǔn)備特定的應(yīng)用執(zhí)行環(huán)境程序(其包括用于目標(biāo)計(jì)算機(jī)平臺(tái)的、適當(dāng)?shù)钠脚_(tái)特定的本機(jī)代碼),以便與每種目標(biāo)計(jì)算機(jī)類(lèi)別結(jié)合使用。所標(biāo)識(shí)的應(yīng)用執(zhí)行環(huán)境程序可以與用于軟件程序的安裝程序組
合到安裝程序包中(215)。該組合也可以特定于計(jì)算機(jī)類(lèi)別;由此,可以針對(duì)每種計(jì)算機(jī)類(lèi)別來(lái)執(zhí)行標(biāo)識(shí)和組合,以^更為每種目標(biāo)類(lèi)別準(zhǔn)備安裝包,該安裝程序包繼而可以獨(dú)立地提供給作為類(lèi)別成員的每個(gè)目標(biāo)計(jì)算機(jī)。備選地,可以針對(duì)每個(gè)目標(biāo)計(jì)算機(jī)動(dòng)態(tài)地執(zhí)行標(biāo)識(shí)和組合,諸如在出于數(shù)字版權(quán)管理(DRM)目的而需要使所發(fā)送的安裝程序特定于目標(biāo)計(jì)算機(jī)時(shí)。
安裝程序本身在應(yīng)用執(zhí)行環(huán)境中運(yùn)行,并且可以將安裝程序包提供給目標(biāo)計(jì)算機(jī),以便通過(guò)運(yùn)行被拷貝到目標(biāo)計(jì)算機(jī)的應(yīng)用執(zhí)行環(huán)境中的安裝程序來(lái)安裝軟件程序(220 )。如圖1A所示,安裝程序115按照與纟皮設(shè)計(jì)為在應(yīng)用執(zhí)行110中運(yùn)行的應(yīng)用120相類(lèi)似的方式,而在應(yīng)用執(zhí)行環(huán)境110上運(yùn)行。
圖1B示出了可以用來(lái)安裝應(yīng)用執(zhí)行環(huán)境的示例元件。安裝程序包125可以包括壓縮歸檔文件(例如,Zip文件),其中已經(jīng)封裝了AEE的單個(gè)拷貝。此外,可以將該壓縮歸檔文件添加到自提取的可執(zhí)行存根(stub.exe),以形成安裝程序包125 (例如,供基于WINDOWS OS的計(jì)算機(jī)使用)。在執(zhí)行時(shí),可執(zhí)行存根中的自提取器代碼可以將AEE解歸檔到臨時(shí)位置。AEE是這樣設(shè)計(jì)的其可以適當(dāng)?shù)奈恢眠\(yùn)行,也即,除了簡(jiǎn)單地拷貝文件之外無(wú)需其他安裝步驟。由此,提取的AEE拷貝可以立即用于運(yùn)行安裝程序。
在結(jié)合圖1B描述的示例中,安裝程序包125本身可以被視作安裝程序,因?yàn)榘?25是開(kāi)始安裝過(guò)程的可執(zhí)行文件。在其他情況中,安裝程序包125可以是壓縮歸檔文件本身。例如,對(duì)于MAC OS計(jì)算機(jī)而言,安裝程序包125可以是磁盤(pán)鏡像格式的".dmg"文件。在這種情況下,用戶可以打開(kāi).dmg文件(例如,雙擊該文件)并繼而裝載其中包括的AEE安裝程序。而且,安裝程序包125可以包括一個(gè)或多個(gè)附加安裝程序,下文將進(jìn)一步討論。
在任意情況下,應(yīng)用執(zhí)行環(huán)境110可以包括用于將軟件安裝在目標(biāo)計(jì)算機(jī)130上的安裝/卸載代碼160,跨平臺(tái)應(yīng)用程序接口 112
15可以包括用于安裝/卸載代碼160的安裝/卸載界面170,并且安裝程序115可以包括用戶接口代碼175。當(dāng)安裝程序115在目標(biāo)計(jì)算機(jī)上的AEE 110中運(yùn)行時(shí),安裝程序115可以使用AEE 110的安裝界面170來(lái)實(shí)現(xiàn)新AEE版本的安裝(例如,AEE 100本身),并且安裝程序115可以使用用戶接口代碼175 (例如,超文本標(biāo)記語(yǔ)言、ActionScript或者SWF代碼)來(lái)生成和呈現(xiàn)用于安裝過(guò)程的用戶界面180,其中用戶接口代碼175也可以使用AEE 110來(lái)運(yùn)行。
例如,安裝程序115可以包含使用Adobe Flex 軟件、Flash 代碼或者ActionScript代碼(或其組合)編寫(xiě)的用戶界面,其中該用戶界面(UI)與嵌入AEE 110中的邏輯進(jìn)行通信。(出于此目的)AEE 110中主類(lèi)的名稱(chēng)可以是"運(yùn)行時(shí)安裝程序,,,并且可以創(chuàng)建運(yùn)行時(shí)安裝程序的實(shí)例,可以在該實(shí)例上設(shè)置某些屬性,繼而可以啟動(dòng)運(yùn)行時(shí)安裝程序。運(yùn)行時(shí)安裝程序繼而可以分派事件,以便隨著安裝的進(jìn)行來(lái)報(bào)告進(jìn)度(例如,安裝的百分比,是否發(fā)生錯(cuò)誤等等)。這些事件可以由安裝程序115中的代碼捕荻,這將導(dǎo)致UI被更新。注意,兩個(gè)方向的通信都可以使用事件來(lái)實(shí)現(xiàn)。由此,當(dāng)用戶接受AEE 110的最終用戶許可協(xié)議時(shí)(以下進(jìn)一步討^侖),可以從UI向運(yùn)行時(shí)安裝程序類(lèi)發(fā)送事件,告知運(yùn)行時(shí)安裝程序進(jìn)行安裝。繼而,進(jìn)度事件可以反向返回,并使進(jìn)度條更新。
當(dāng)安裝程序115在目標(biāo)計(jì)算機(jī)上的AEE 110上運(yùn)行時(shí),安裝程序115還可以導(dǎo)致在目標(biāo)計(jì)算機(jī)上方文置卸載程序(uninstaller),其中,卸載程序在AEE 110中運(yùn)^"。卸載程序可以是AEE 110的另一拷貝以及運(yùn)行于其上的代碼(例如,F(xiàn)lexTM代碼)。由此,安裝程序可以使用安裝界面170來(lái)實(shí)現(xiàn)AEE 110的安裝,并且卸載程序可以使用卸載界面170來(lái)實(shí)現(xiàn)AEE 110的卸載。此外,AEE110中的安裝/卸載代碼160可被設(shè)計(jì)為直接在目標(biāo)計(jì)算機(jī)上進(jìn)行操作,以執(zhí)行安裝和卸載任務(wù)(例如,在基于MAC OS的計(jì)算機(jī)中),或者安裝/卸載代碼160可被設(shè)計(jì)為與OS 135提供的安裝/卸載工具165(例如,基于WINDOWS OS的計(jì)算機(jī)中的WINDOWS 安裝程
16序API)進(jìn)行接口通信。
在上面給出的示例中,在基于MAC OS的計(jì)算機(jī)和基于 WINDOWS OS的計(jì)算機(jī)上,運(yùn)行時(shí)安裝程序類(lèi)的實(shí)現(xiàn)可能具有很 大差別。在基于WINDOWS OS的計(jì)算機(jī)上,運(yùn)行時(shí)安裝程序可以 使用AEE 110中僅涉及安裝的API來(lái)進(jìn)行操作,因?yàn)樗鯝PI使用 WINDOWS⑧安裝服務(wù)來(lái)執(zhí)行安裝操作。在基于MAC OS的計(jì)算機(jī) 或者基于L i nux O S的計(jì)算機(jī)上,運(yùn)行時(shí)安裝程序可以使用AEE 110 中的文件系統(tǒng)API來(lái)進(jìn)行操作。在任一情況下,運(yùn)行時(shí)安裝程序類(lèi) 都可以定義跨平臺(tái)接口,安裝程序115可以訪問(wèn)并且以相同的方式 使用該接口 ,而不論其運(yùn)行在基于MAC OS的計(jì)算機(jī)上還是基于 WINDOWS OS的計(jì)算機(jī)上(也即,安裝程序115中無(wú)需具有任何 本機(jī)代碼)。還可以4吏用其他方法。例如,AEE 110可以:提供用于 調(diào)用本機(jī)代碼的機(jī)制,并且安裝程序115也可以使用該機(jī)制。
圖2B示出了將應(yīng)用執(zhí)行環(huán)境程序安裝到目標(biāo)計(jì)算機(jī)的示例過(guò) 程。可以將安裝程序包傳送到目標(biāo)計(jì)算機(jī)(230 ),以便在安裝程序 包被調(diào)用時(shí)(例如,在安裝程序包可執(zhí)行文件被執(zhí)行時(shí))使目標(biāo)計(jì) 算機(jī)執(zhí)行安裝操作??梢詫?yīng)用執(zhí)行環(huán)境程序拷貝到目標(biāo)計(jì)算機(jī) (235 )。這可以包括將應(yīng)用執(zhí)行環(huán)境程序從壓縮歸檔文件中提取到 目標(biāo)計(jì)算機(jī),此后,應(yīng)用執(zhí)行環(huán)境可用于運(yùn)行安裝程序。應(yīng)用執(zhí)行 環(huán)境程序可以按照x拷貝模式加載到目標(biāo)計(jì)算機(jī)上(240)。在已經(jīng) 將應(yīng)用執(zhí)行環(huán)境程序安裝在目標(biāo)計(jì)算機(jī)上之前,安裝程序可以在目 標(biāo)計(jì)算機(jī)上的已加載應(yīng)用執(zhí)行環(huán)境中運(yùn)行(也即,其在x拷貝模式 中運(yùn)行)(245 )。安裝程序可以向用戶呈現(xiàn)包括各種UI面板的用 戶界面(諸如下文將描述的),并且進(jìn)行將應(yīng)用執(zhí)行環(huán)境程序(直 接從運(yùn)行拷貝)到其最終安裝位置的第二拷貝。
圖2C示出了將應(yīng)用執(zhí)行環(huán)境程序安裝到目標(biāo)計(jì)算機(jī)的另一示例 過(guò)程??梢栽谀繕?biāo)計(jì)算機(jī)上的第一位置處進(jìn)行應(yīng)用執(zhí)行環(huán)境程序的 第一拷貝(260)。這可以是已經(jīng)下載到臨時(shí)目錄的應(yīng)用執(zhí)行環(huán)境程 序的可執(zhí)行拷貝,其中該拷貝可以在安裝完成前運(yùn)行??梢詥?dòng)執(zhí)行應(yīng)用執(zhí)行環(huán)境程序的第一拷貝(265 )。
可以在目標(biāo)計(jì)算機(jī)上的第二位置處進(jìn)行應(yīng)用執(zhí)行環(huán)境程序的第 二拷貝(270)??梢栽谀繕?biāo)計(jì)算機(jī)上的第二位置處注冊(cè)應(yīng)用執(zhí)行環(huán) 境程序(275 )。這可以包括注冊(cè)文件擴(kuò)展名和MIME (多目的互聯(lián) 網(wǎng)郵件擴(kuò)展名)內(nèi)容類(lèi)型、注冊(cè)用于卸載的指令、創(chuàng)建桌面快捷方 式和開(kāi)始菜單條目等??梢栽谀繕?biāo)計(jì)算機(jī)上的第一位置刪除應(yīng)用執(zhí) 行環(huán)境程序的第一拷貝(280 )。注意,進(jìn)行第二拷貝和刪除第一拷 貝可以是與安裝過(guò)程相集成的移動(dòng)操作的部分。此外,拷貝、注冊(cè) 和刪除可以包括使用內(nèi)置于應(yīng)用執(zhí)行環(huán)境程序本身中的邏輯。
圖3A示出了安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用的示例過(guò)程。可以接 收提供軟件應(yīng)用安裝的請(qǐng)求(305 ),這要求在應(yīng)用執(zhí)行環(huán)境上操作 (注意,不止一方可能滿足該需求,因?yàn)榭赡苡卸鄠€(gè)不同的應(yīng)用執(zhí) 行環(huán)境能夠提供所需的支持)??梢赃M(jìn)行檢查,以確定應(yīng)用執(zhí)行環(huán) 境程序是否已經(jīng)存在于目標(biāo)計(jì)算機(jī)上(310)。可以使用各種方法來(lái) 確定應(yīng)用安裝程序是否已經(jīng)存在于目標(biāo)計(jì)算機(jī)上。例如,可以采用 內(nèi)置在web瀏覽器中的功能以及正在閱覽的頁(yè)面,來(lái)確定應(yīng)用執(zhí)行 環(huán)境程序是否已經(jīng)存在于目標(biāo)計(jì)算機(jī)上。作為另一示例,用戶可以 下載和運(yùn)行如下小程序,該小程序#1行檢測(cè)并且才艮告或下載附加文 件(例如,安裝程序)。作為另一示例,當(dāng)應(yīng)用執(zhí)行環(huán)境程序安裝 在計(jì)算機(jī)上時(shí),其可以安裝瀏覽器插件,該瀏覽器插件可以由所顯 示的web頁(yè)面來(lái)才全測(cè)(例如,使用JavaScript),也即,不存在插件 將指示不存在應(yīng)用執(zhí)行環(huán)境程序。
如果應(yīng)用執(zhí)行環(huán)境程序還沒(méi)有安裝在計(jì)算機(jī)上,則可以在安裝 序列中提供軟件應(yīng)用和應(yīng)用執(zhí)行環(huán)境程序二者的安裝(315)。安裝 序列可以包括用戶界面面板,其包括關(guān)于將要安裝應(yīng)用執(zhí)行環(huán)境程 序的通知。此外,軟件應(yīng)用和應(yīng)用執(zhí)行環(huán)境程序的安裝可以聯(lián)系在 一起,作為單個(gè)安裝事務(wù),使其一起成功或者失敗。
圖3B示出了安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用的示例過(guò)程。不論如 何接收到(例如,在CD上或者通過(guò)網(wǎng)絡(luò)下載),可以通過(guò)參考軟件應(yīng)用的安裝包來(lái)啟動(dòng)應(yīng)用執(zhí)行環(huán)境程序的第一安裝程序(325 )。 第一安裝程序可以設(shè)計(jì)為安裝應(yīng)用執(zhí)行環(huán)境程序,但是也可設(shè)計(jì)為 接受指示軟件應(yīng)用的安裝包位置的自變量(例如,到本地或者遠(yuǎn)程 存儲(chǔ)庫(kù)的統(tǒng)一資源定位符)。
利用將要安裝應(yīng)用執(zhí)行環(huán)境程序的指示,可以從第 一安裝程序 調(diào)用安裝包的第二安裝程序(330 )。第二安裝程序可以設(shè)計(jì)為安裝 在應(yīng)用執(zhí)行環(huán)境上運(yùn)行的軟件應(yīng)用。第二安裝程序可以是內(nèi)置于應(yīng) 用執(zhí)行環(huán)境中的安裝/卸載工具的部分,如結(jié)合圖4示出和描述的。 由此,第二安裝程序可以是應(yīng)用執(zhí)行環(huán)境本身的部分,使得安裝應(yīng) 用是環(huán)境提供的服務(wù)之一 。
第二安裝程序可以呈現(xiàn)用戶界面(335 ),其包括關(guān)于將要隨同 軟件應(yīng)用安裝應(yīng)用執(zhí)行環(huán)境程序的通知。這允許用戶完全了解應(yīng)用 以及在其上運(yùn)行的底層環(huán)境的計(jì)劃組合安裝,但是該信息是在用于 軟件應(yīng)用本身的安裝序列的上下文中提供的。由此,從用戶的角度 看,可以類(lèi)似于應(yīng)用的元件(其無(wú)法被取消選中)那樣來(lái)處理應(yīng)用 執(zhí)行環(huán)境程序,即使該應(yīng)用執(zhí)行環(huán)境程序是充當(dāng)軟件應(yīng)用的運(yùn)行時(shí) 環(huán)境的完全獨(dú)立、分離的軟件程序。
而且,由于應(yīng)用執(zhí)行環(huán)境是分離的軟件應(yīng)用,安裝序列還可以 包括針對(duì)應(yīng)用執(zhí)行環(huán)境程序的最終用戶許可協(xié)議的用戶接受的請(qǐng)求 (340)。如果接收到用戶接受,則可以安裝應(yīng)用執(zhí)行環(huán)境程序,并 繼而安裝軟件應(yīng)用(345 ),這在事務(wù)上是作為一個(gè)安裝,其使用貫 穿(span)兩個(gè)安裝的安裝進(jìn)度條。
圖4示出了可以在安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用時(shí)使用的示例
行時(shí)460,如上文所述。此外,運(yùn)行時(shí)460可以包括應(yīng)用安裝程序 465,其用來(lái)安裝在運(yùn)行時(shí)上運(yùn)行的應(yīng)用。當(dāng)被拷貝到目標(biāo)計(jì)算機(jī)時(shí), 安裝程序包可以創(chuàng)建運(yùn)行時(shí)安裝程序的本地拷貝456,其可以通過(guò)對(duì) 應(yīng)用安裝包470 (其可以是本地的或遠(yuǎn)程的)的參考(REF)來(lái)調(diào)用, 而且安裝程序包可以抽取運(yùn)行時(shí)的第一拷貝461(可以在計(jì)算機(jī)上的臨時(shí)位置適當(dāng)運(yùn)行的運(yùn)行時(shí)X拷貝)。繼而,通過(guò)利用參考以及利
用還要執(zhí)行運(yùn)行時(shí)安裝(RTI)的指示/指令(例如,指示還應(yīng)當(dāng)安 裝運(yùn)行時(shí)的標(biāo)志),運(yùn)行時(shí)安裝程序的本地拷貝456可以調(diào)用第一 運(yùn)行時(shí)拷貝461中的應(yīng)用安裝程序。第一運(yùn)行時(shí)拷貝461中的應(yīng)用 安裝程序可以呈現(xiàn)用戶界面面板480,其中至少一個(gè)具有關(guān)于還要安 裝運(yùn)行時(shí)的插入通知485。此外,由應(yīng)用安裝程序呈現(xiàn)的面板480
戶清楚主要目的是安裝軟件應(yīng)用;運(yùn)行時(shí)安裝作為輔助過(guò)程存在。 第一運(yùn)行時(shí)拷貝461中的應(yīng)用安裝程序(例如,使用運(yùn)行時(shí)內(nèi) 置本機(jī)代碼的ActionScript代碼)繼而可以驅(qū)動(dòng)軟件應(yīng)用及其所依賴(lài) 的運(yùn)行時(shí)的安裝,這在事務(wù)上是作為一個(gè)安裝490;如果任一安裝失 敗(或者被取消),則整個(gè)組合安裝回滾并撤消??梢愿鶕?jù)第一運(yùn) 行時(shí)拷貝461來(lái)創(chuàng)建運(yùn)行時(shí)的已安裝拷貝462,并將其在目標(biāo)計(jì)算機(jī) 上注冊(cè)。繼而,可以根據(jù)應(yīng)用安裝包470來(lái)創(chuàng)建應(yīng)用475的已安裝 拷貝。最后,可以從目標(biāo)計(jì)算機(jī)上刪除第一運(yùn)行時(shí)拷貝461和運(yùn)行 時(shí)安裝程序拷貝456,或者將其轉(zhuǎn)變?yōu)樾聽(tīng)顟B(tài)(例如,可將其移動(dòng)并 轉(zhuǎn)換為用于應(yīng)用475和運(yùn)行時(shí)462的卸載程序)。由此,運(yùn)行時(shí)可 以提供用于應(yīng)用的執(zhí)行環(huán)境和用于應(yīng)用及其本身的安裝/卸載環(huán)境二 者。
圖5A至圖5E示出了可以在安裝應(yīng)用執(zhí)行環(huán)境和軟件應(yīng)用時(shí)使 用的示例用戶界面面板。web瀏覽器窗口 500示出了示例站點(diǎn),其 中可以下載MPEG (移動(dòng)圖像專(zhuān)家組)音頻播放器應(yīng)用。該音頻播 放器應(yīng)用依賴(lài)于運(yùn)行時(shí)(例如,Adobe AIR 軟件)在給定的計(jì)算 機(jī)上操作。面板505包括關(guān)于所需運(yùn)行時(shí)的注解510,以及致使下載 運(yùn)行時(shí)安裝程序的下載鏈接515。
下載鏈接515可以包括SWF徽章,其使用Flash Player的API 來(lái)檢測(cè)運(yùn)行時(shí)是否已經(jīng)安裝到本地計(jì)算機(jī)上。SWF徽章(在web頁(yè) 面中運(yùn)行的SWF)可以在SWF徽章顯示在頁(yè)面中時(shí)4企測(cè)運(yùn)行時(shí)。繼 而,當(dāng)用戶點(diǎn)擊SWF徽章時(shí),其根據(jù)是否已經(jīng)安裝運(yùn)行時(shí)而執(zhí)行不同操作。如果運(yùn)行時(shí)已經(jīng)安裝在本地計(jì)算機(jī)上,則SWF徽章可以直 接調(diào)取運(yùn)行時(shí)來(lái)處理音頻播放器應(yīng)用的安裝。如果運(yùn)行時(shí)沒(méi)有安裝 在本地計(jì)算機(jī)上,則SWF徽章可以著手下載運(yùn)行時(shí)的安裝程序,并 且發(fā)送音頻播放器應(yīng)用的統(tǒng)一資源定位符(URL),以便安裝程序 在啟動(dòng)時(shí)使用。URL可以由SWF徽章在消息中經(jīng)由應(yīng)用間通信
(IAC )機(jī)制來(lái)發(fā)送,諸如LocalConnection (其使用共享存儲(chǔ)器分段 進(jìn)行操作)或者其他IAC機(jī)制。所采用的IAC機(jī)制可由web瀏覽器
(或者其插件)和應(yīng)用執(zhí)行環(huán)境二者來(lái)支持。
當(dāng)用戶點(diǎn)擊鏈接515時(shí),如上所述,這可以導(dǎo)致下載安裝包, 以及適當(dāng)?shù)耐ㄖ陀脩羰跈?quán)。例如,鏈接515可以導(dǎo)致安裝包被保 存在本地計(jì)算機(jī)以備后用,或者鏈接515可以導(dǎo)致安裝程序被下載 并立即運(yùn)行(例如,如上所述,如果安裝包是具有內(nèi)嵌運(yùn)行時(shí)的安 裝程序可執(zhí)行文件)。此外,可以通過(guò)由web瀏覽器呈現(xiàn)和控制的 用戶界面來(lái)獲得針對(duì)運(yùn)行時(shí)初始下載的用戶授權(quán)。
可以指示運(yùn)行時(shí)的安裝程序來(lái)安裝其自身以及音頻播放器應(yīng)用 二者。 一旦運(yùn)行時(shí)安裝程序開(kāi)始在目標(biāo)計(jì)算機(jī)上運(yùn)行,所呈現(xiàn)的用 戶界面可以是應(yīng)用安裝的用戶界面。例如,運(yùn)行時(shí)安裝程序可以調(diào) 用音頻播放器應(yīng)用的應(yīng)用安裝程序,并伴有還要安裝運(yùn)行時(shí)的指示。 由此,呈現(xiàn)給用戶的第一面板可以是應(yīng)用安裝面板520,如圖5B所 示,其示出了將要安裝的應(yīng)用的細(xì)節(jié),并且請(qǐng)求繼續(xù)安裝的用戶確 認(rèn)。
可以使用已經(jīng)下載、但尚未安裝的運(yùn)行時(shí)來(lái)繪制應(yīng)用安裝UI。 可以使用應(yīng)用安裝UI來(lái)收集針對(duì)應(yīng)用的用戶偏好(例如,安裝位置、 在桌面是否添加快捷方式、在安裝之后是否啟動(dòng)程序等)。然而, 由于還要安裝運(yùn)行時(shí),因此可以在應(yīng)用安裝UI中插入一個(gè)或多個(gè)附 加項(xiàng),以指示將要進(jìn)行運(yùn)行時(shí)安裝。這些插入項(xiàng)可以包括通知和用
戶輸入要求。例如,如圖5C所示,第二面板530可以包括關(guān)于運(yùn)行 時(shí)安裝的通知535。通知535可以作為無(wú)法關(guān)閉的選項(xiàng)來(lái)呈現(xiàn)(如圖 所示,復(fù)選框變灰)。當(dāng)用戶按下繼續(xù)按鈕時(shí),可以呈現(xiàn)第三面板
21540,以獲得針對(duì)運(yùn)行時(shí)的最終用戶許可協(xié)議的用戶接受。
一旦用戶確認(rèn)了組合安裝,則安裝程序可以安裝運(yùn)行時(shí),繼而
用戶界面。例如,如圖5E所示,安裝進(jìn)度面板550可以包括進(jìn)度條 555,其貫穿運(yùn)行時(shí)安裝和應(yīng)用安裝。來(lái)自運(yùn)行時(shí)安裝的進(jìn)度信息可 以發(fā)送回應(yīng)用安裝邏輯,并且顯示在所示進(jìn)度條555的前50°/。中。 當(dāng)運(yùn)行時(shí)安裝完成時(shí),來(lái)自應(yīng)用安裝的進(jìn)度可以顯示在所示進(jìn)度條 555的后50%。當(dāng)應(yīng)用安裝完成時(shí),隨后可以運(yùn)行和使用應(yīng)用。還應(yīng) 注意,面板520、 530、 540、 550可以呈現(xiàn)在用于組合安裝過(guò)程的單 個(gè)UI窗口中。
本說(shuō)明書(shū)中描述的主題和功能性操作的實(shí)施方式可以以數(shù)字電 子電路實(shí)現(xiàn),或者以計(jì)算機(jī)軟件、固件或硬件來(lái)實(shí)現(xiàn),該計(jì)算機(jī)軟 件、固件或硬件包括本說(shuō)明書(shū)中公開(kāi)的結(jié)構(gòu)及其等同結(jié)構(gòu)、或是它 們的一個(gè)或多個(gè)的組合。本說(shuō)明書(shū)中描述的主題的實(shí)施方式可以實(shí) 現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,也即,在計(jì)算機(jī)可讀介質(zhì)上編碼 的、以便由數(shù)據(jù)處理裝置執(zhí)行或控制數(shù)據(jù)處理裝置搡作的 一 個(gè)或多 個(gè)計(jì)算機(jī)程序指令模塊。有形程序載體可以是傳播的信號(hào)或者計(jì)算 機(jī)可讀介質(zhì)。傳播信號(hào)是人工產(chǎn)生的信號(hào),例如,機(jī)器產(chǎn)生的電信 號(hào)、光信號(hào)或者電磁信號(hào),生成該信號(hào)以對(duì)信息進(jìn)行編碼,以便傳 輸?shù)竭m當(dāng)?shù)慕邮掌餮b置。計(jì)算機(jī)可讀介質(zhì)可以是機(jī)器可讀的存儲(chǔ)設(shè) 備、機(jī)器可讀的存儲(chǔ)襯底、存儲(chǔ)設(shè)備、實(shí)現(xiàn)計(jì)算機(jī)可讀的傳播信號(hào) 的組合、或者它們中的一個(gè)或多個(gè)的結(jié)合。
術(shù)語(yǔ)"數(shù)據(jù)處理裝置"包括用于處理數(shù)據(jù)的所有裝置、設(shè)備和 機(jī)器,例如包括可編程處理器、計(jì)算機(jī),或者多個(gè)處理器或計(jì)算機(jī)。 除了硬件之外,該裝置可以包括為考慮中的計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán) 境的代碼,例如,構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)管理系統(tǒng)、操 作系統(tǒng)、跨平臺(tái)運(yùn)行時(shí)環(huán)境,或者它們中一個(gè)或多個(gè)的結(jié)合的代碼。 此外,裝置可以采用各種不同的計(jì)算模型基礎(chǔ)架構(gòu),諸如web服務(wù)、 分布式計(jì)算和網(wǎng)格計(jì)算基礎(chǔ)架構(gòu)。
22計(jì)算機(jī)程序(也已知為程序、軟件、軟件應(yīng)用、腳本或代碼) 可以由任意形式的編程語(yǔ)言編寫(xiě),包括編譯語(yǔ)言或解釋語(yǔ)言,并且 該計(jì)算機(jī)程序可以任意形式部署,包括部署為單獨(dú)的程序或模塊、 組件、子例程、或者適于在計(jì)算環(huán)境中使用的其他單元。計(jì)算機(jī)程 序無(wú)需對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可以存儲(chǔ)在保存其他程序或 數(shù)據(jù)(例如,存儲(chǔ)在標(biāo)記語(yǔ)言文檔中的一個(gè)或多個(gè)腳本)的文件的 一部分中,可以存儲(chǔ)在專(zhuān)用于考慮中的程序的單個(gè)文件中、或者存 儲(chǔ)在多個(gè)協(xié)同文件中(例如,存儲(chǔ)一個(gè)或多個(gè)模塊、子程序、或代 碼部分的文件)??梢詫⒂?jì)算機(jī)程序部署為在一個(gè)計(jì)算機(jī)上執(zhí)行,
或者將其部署為在位于一個(gè)地點(diǎn)的多個(gè)計(jì)算機(jī)上執(zhí)行或跨過(guò)多個(gè)地 點(diǎn)分布且通過(guò)通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。
本說(shuō)明書(shū)中描述的處理和邏輯流程可以由執(zhí)行一個(gè)或多個(gè)計(jì)算 機(jī)程序的 一 個(gè)或多個(gè)可編程處理器執(zhí)行,用于通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行 操作以及產(chǎn)生輸出來(lái)執(zhí)行功能。該處理和邏輯流程還可以由例如
FPGA (現(xiàn)場(chǎng)可編程門(mén)陣列)或ASIC (專(zhuān)用集成電路)的專(zhuān)用邏輯 電路執(zhí)行,并且也可以將裝置實(shí)現(xiàn)為所述專(zhuān)用邏輯電路。
適于計(jì)算機(jī)程序執(zhí)行的處理器例如包括通用和專(zhuān)用處理器兩
者、以及任意類(lèi)型的數(shù)字計(jì)算機(jī)的任意一個(gè)或多個(gè)處理器。通常, 處理器將從只讀存儲(chǔ)器或隨機(jī)訪問(wèn)存儲(chǔ)器或兩者處接收指令和數(shù) 據(jù)。計(jì)算機(jī)的基本元件是用于執(zhí)行指令的處理器以及用于存儲(chǔ)指令 和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備。通常,計(jì)算機(jī)還將包括用于存儲(chǔ)數(shù) 據(jù)的 一 個(gè)或多個(gè)海量存儲(chǔ)設(shè)備,或被操作性地耦合為從所述用于存 儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)海量存儲(chǔ)設(shè)備接收數(shù)據(jù)、向其傳送數(shù)據(jù)、或者 進(jìn)行兩者,該海量存儲(chǔ)設(shè)備例如磁盤(pán)、磁光盤(pán)、或光盤(pán)。然而,計(jì) 算機(jī)不必一定具有這樣的設(shè)備。而且,計(jì)算機(jī)可以嵌在其他設(shè)備中, 例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或纟見(jiàn)頻播放器、 全球定位系統(tǒng)(GPS)接收器、或者便攜式存儲(chǔ)設(shè)備(例如,通用串 行總線(USB)閃存驅(qū)動(dòng)),這僅是幾例。適于存儲(chǔ)計(jì)算機(jī)程序指 令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)設(shè)備,例如包括半導(dǎo)體存儲(chǔ)設(shè)備,如EPROM、 EEPROM和 閃存設(shè)備;磁盤(pán),如內(nèi)部硬盤(pán)或可移動(dòng)硬盤(pán);磁光盤(pán);以及CD-ROM 和DVD-ROM盤(pán)。處理器和存儲(chǔ)器可以由專(zhuān)用邏輯電路補(bǔ)充或是包 括在專(zhuān)用邏輯電路中。
為了提供與用戶的交互,本說(shuō)明書(shū)中描述的主題的實(shí)施方式可 以在具有用于向用戶顯示信息的顯示設(shè)備以及用戶可以通過(guò)其向計(jì) 算機(jī)提供輸入的鍵盤(pán)和指點(diǎn)設(shè)備的計(jì)算機(jī)上實(shí)現(xiàn),其中顯示設(shè)備例 如CRT (陰極射線管)或者LCD (液晶顯示器)監(jiān)視器,指點(diǎn)設(shè)備 例如鼠標(biāo)或者軌跡球。也可以使用其他類(lèi)型的設(shè)備來(lái)提供與用戶的 交互;例如,提供給用戶的反饋可以是任何形式的感觀反々赍,例如 視覺(jué)反饋、聲覺(jué)反饋、或者觸覺(jué)反饋;并且可以接收來(lái)自用戶的任 意形式的輸入,包括聲音、語(yǔ)音或觸覺(jué)輸入。
計(jì)算系統(tǒng)中,例如數(shù)據(jù)服務(wù)器;或?qū)崿F(xiàn)在包括中間件組件的計(jì)算系 統(tǒng)中,例如應(yīng)用服務(wù)器;或?qū)崿F(xiàn)在包括前端組件的計(jì)算系統(tǒng)中,例 如具有圖形用戶接口或者web瀏覽器的客戶端計(jì)算機(jī),用戶通過(guò)該 圖形用戶接口或web瀏覽器可以與本說(shuō)明書(shū)中描述的主題的實(shí)現(xiàn)進(jìn) 行交互;或?qū)崿F(xiàn)在一個(gè)或多個(gè)這樣的后端、中間件、或前端組件的 任意結(jié)合中。系統(tǒng)組件可以與任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例 如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)("LAN"), 廣域網(wǎng)("WAN"),網(wǎng)際網(wǎng)(例如,互聯(lián)網(wǎng))以及端對(duì)端網(wǎng)絡(luò)(例 如,adhoc對(duì)等網(wǎng)絡(luò))。
計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般相互 遠(yuǎn)離,并且通常通過(guò)通信網(wǎng)絡(luò)進(jìn)行交互。客戶端和服務(wù)器的關(guān)系是 借助于在各自計(jì)算機(jī)上運(yùn)行的、彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算 機(jī)程序得到的。
盡管本說(shuō)明書(shū)包含多種特定細(xì)節(jié),但是不應(yīng)將其理解為是對(duì)本 發(fā)明的范圍或者所要求保護(hù)內(nèi)容的限制,而應(yīng)當(dāng)理解為是本發(fā)明具 體實(shí)施方式的特定特征的描述。本說(shuō)明書(shū)中描述的在各個(gè)實(shí)施方式的上下文中的某些特征也可以在單個(gè)實(shí)施方式中結(jié)合實(shí)現(xiàn)。相反, 在單個(gè)實(shí)施方式上下文中描述的各種特征也可以分別實(shí)現(xiàn)在多個(gè)實(shí) 施方式中或者任意適當(dāng)?shù)淖咏M合中。而且,盡管上文可能將特征描 述為在特定的組合中操作,甚至初始也是這樣要求保護(hù)的,但是來(lái) 自所要求保護(hù)的組合的一個(gè)或多個(gè)特征在一些情況下可以從該組合 中去除,并且所要求保護(hù)的組合可以針對(duì)子組合或組合的變形。
類(lèi)似地,盡管在附圖中以特定的順序描述操作,但是不應(yīng)將其 理解為要求按照所示的特定順序或是串行順序來(lái)執(zhí)行這些操作,或 是要求執(zhí)行全部所示的操作以得到期望的結(jié)果。在特定環(huán)境中,多 任務(wù)和并行處理可能是有利的。而且,在上述實(shí)施方式中多個(gè)系統(tǒng) 組件的分離不應(yīng)被理解為在所有實(shí)施方式中需要這些操作,應(yīng)當(dāng)將 其理解為所描述的程序組件和系統(tǒng)通??梢栽趩蝹€(gè)軟件產(chǎn)品中集成 在一起,或是被打包到多個(gè)軟件產(chǎn)品中。
由此,已經(jīng)描述了本發(fā)明的具體實(shí)施方式
。其他實(shí)施方式處于 所附權(quán)利要求的范圍之內(nèi)。例如,權(quán)利要求中記載的動(dòng)作可以按照 不同的順序來(lái)執(zhí)行并且仍然達(dá)到預(yù)期的結(jié)果。還可以支持各種給移 動(dòng)設(shè)備和其他設(shè)備(例如,具有嵌入式操作系統(tǒng)的設(shè)備)。
權(quán)利要求
1.一種方法,包括接收在目標(biāo)計(jì)算機(jī)上提供軟件應(yīng)用的安裝的請(qǐng)求,其中所述軟件應(yīng)用需要應(yīng)用執(zhí)行環(huán)境程序的操作,所述應(yīng)用執(zhí)行環(huán)境程序包括跨平臺(tái)應(yīng)用程序接口,用以為應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用提供服務(wù);以及當(dāng)所述目標(biāo)計(jì)算機(jī)缺少所述應(yīng)用執(zhí)行環(huán)境程序時(shí),在安裝序列中提供所述軟件應(yīng)用以及所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝;其中,所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序的所述安裝作為單個(gè)安裝事務(wù)聯(lián)系在一起,從而其一起成功或失敗。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述提供包括在所述安 裝序列首次啟動(dòng)時(shí),提供與所述軟件應(yīng)用相關(guān)的初始安裝用戶界面 面板。
3. 根據(jù)權(quán)利要求1所述的方法,其中所述安裝序列包括呈現(xiàn)給 用戶的用戶界面面板,所述用戶界面面板包括關(guān)于所述應(yīng)用執(zhí)行環(huán) 境程序?qū)㈦S同所述軟件應(yīng)用安裝的通知。
4. 根據(jù)權(quán)利要求3所述的方法,其中所述提供包括提供用戶 界面面板,以用于呈現(xiàn)給用戶,以及收集針對(duì)軟件應(yīng)用安裝的安裝 偏好,其中所述通知包括所述軟件應(yīng)用安裝需要應(yīng)用執(zhí)行環(huán)境程序 安裝的指示。
5. 根據(jù)權(quán)利要求3所述的方法,其中所述安裝序列包括 安裝用戶界面面板,用以接收用戶希望安裝所述軟件應(yīng)用的確認(rèn);用戶界面面板,其包括關(guān)于所述應(yīng)用執(zhí)行環(huán)境程序?qū)㈦S同所述軟 件應(yīng)用進(jìn)行安裝的通知;許可協(xié)議用戶界面面板,用以接收針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的 用戶許可協(xié)議的接受;以及安裝進(jìn)度用戶界面面板,用以使用單個(gè)進(jìn)度指示器來(lái)呈現(xiàn)所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝進(jìn)度,其中所述進(jìn)度指 示器貫穿所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝。
6,根據(jù)權(quán)利要求3所述的方法,其中所述提供包括 通過(guò)參考所述軟件應(yīng)用的安裝包,啟動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的 第一安裝程序;利用將要安裝所述應(yīng)用執(zhí)行環(huán)境程序的指示,從所述第 一安裝程序調(diào)用所述安裝包的第二安裝程序;由所述第二安裝程序呈現(xiàn)包括插入通知的用戶界面;以及 在用戶接受針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的許可協(xié)議之后,安裝所述應(yīng)用執(zhí)行環(huán)境程序,繼而安裝所述軟件應(yīng)用。
7. 根據(jù)權(quán)利要求6所述的方法,其中所述安裝包括所述第二 安裝程序驅(qū)動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的安裝、繼而驅(qū)動(dòng)所述軟件應(yīng) 用的安裝,這在事務(wù)上是作為單個(gè)安裝,使用貫穿安裝的安裝進(jìn)度 條。
8. 根據(jù)權(quán)利要求1所述的方法,其中所述提供包括 向所述目標(biāo)計(jì)算機(jī)提供包括所述應(yīng)用執(zhí)行環(huán)境程序和所述安裝程序的安裝程序包,以便通過(guò)運(yùn)行被拷貝到所述目標(biāo)計(jì)算機(jī)的應(yīng)用 執(zhí)行環(huán)境中的安裝程序,來(lái)安裝所述應(yīng)用執(zhí)行環(huán)境程序和所述軟件 應(yīng)用。
9. 一種計(jì)算機(jī)程序產(chǎn)品,編碼在計(jì)算機(jī)可讀介質(zhì)上,可操作以 致使數(shù)據(jù)處理裝置執(zhí)行操作,所述操作包括接收在目標(biāo)計(jì)算機(jī)上提供軟件應(yīng)用的安裝的請(qǐng)求,其中所述軟件 應(yīng)用需要應(yīng)用執(zhí)行環(huán)境程序的操作,所述應(yīng)用執(zhí)行環(huán)境程序包括跨 平臺(tái)應(yīng)用程序接口 ,用以為應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用提供服務(wù); 以及當(dāng)所述目標(biāo)計(jì)算機(jī)缺少所述應(yīng)用執(zhí)行環(huán)境程序時(shí),在安裝序列中 提供所述軟件應(yīng)用以及所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝;其中,所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序的所述安裝作為單 個(gè)安裝事務(wù)聯(lián)系在一起,從而其一起成功或失敗。
10. 根據(jù)權(quán)利要求9所述的產(chǎn)品,其中所述提供包括在所述安 裝序列首次啟動(dòng)時(shí),提供與所述軟件應(yīng)用相關(guān)的初始安裝用戶界面面板。
11. 根據(jù)權(quán)利要求9所述的產(chǎn)品,其中所述安裝序列包括呈現(xiàn)給 用戶的用戶界面面板,所述用戶界面面板包括關(guān)于所述應(yīng)用執(zhí)行環(huán) 境程序?qū)㈦S同所述軟件應(yīng)用安裝的通知。
12. 根據(jù)權(quán)利要求11所述的產(chǎn)品,其中所述提供包括提供用 戶界面面板,以用于呈現(xiàn)給用戶,以及收集針對(duì)軟件應(yīng)用安裝的安 裝偏好,其中所述通知包括所述軟件應(yīng)用安裝需要應(yīng)用執(zhí)行環(huán)境程 序安裝的指示。
13. 根據(jù)權(quán)利要求11所述的產(chǎn)品,其中所述安裝序列包括 安裝用戶界面面板,用以接收用戶希望安裝所述軟件應(yīng)用的確認(rèn);用戶界面面板,其包括關(guān)于所述應(yīng)用執(zhí)行環(huán)境程序?qū)㈦S同所述軟 件應(yīng)用進(jìn)行安裝的通知;許可協(xié)議用戶界面面板,用以接收針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的 用戶許可協(xié)議的接受;以及安裝進(jìn)度用戶界面面板,用以使用單個(gè)進(jìn)度指示器來(lái)呈現(xiàn)所述軟 件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝進(jìn)度,其中所述進(jìn)度指 示器貫穿所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝。
14. 根據(jù)權(quán)利要求11所述的產(chǎn)品,其中所述提供包括 通過(guò)參考所述軟件應(yīng)用的安裝包,啟動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的第一安裝程序;利用將要安裝所述應(yīng)用執(zhí)行環(huán)境程序的指示,從所述第一安裝程序調(diào)用所述安裝包的第二安裝程序;由所述第二安裝程序呈現(xiàn)包括插入通知的用戶界面;以及 在用戶接受針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的許可協(xié)議之后,安裝所述應(yīng)用執(zhí)行環(huán)境程序,繼而安裝所述軟件應(yīng)用。
15. 根據(jù)權(quán)利要求14所述的產(chǎn)品,其中所述安裝包括所述第二安裝程序驅(qū)動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的安裝、繼而驅(qū)動(dòng)所述軟件 應(yīng)用的安裝,這在事務(wù)上是作為單個(gè)安裝,使用貫穿安裝的安裝進(jìn) 度條。
16. 根據(jù)權(quán)利要求9所述的產(chǎn)品,其中所述提供包括 向所述目標(biāo)計(jì)算機(jī)提供包括所述應(yīng)用執(zhí)行環(huán)境程序和所述安裝程序的安裝程序包,以便通過(guò)運(yùn)行被拷貝到所述目標(biāo)計(jì)算機(jī)的應(yīng)用 執(zhí)行環(huán)境中的安裝程序,來(lái)安裝所述應(yīng)用執(zhí)行環(huán)境程序和所述軟件 應(yīng)用。
17. —種系統(tǒng),包括 目標(biāo)計(jì)算機(jī);一個(gè)或多個(gè)計(jì)算機(jī),其可操作以用于與所述目標(biāo)計(jì)算機(jī)交互,以 及用于執(zhí)行操作,所述操作包括接收在目標(biāo)計(jì)算機(jī)上提供軟件應(yīng)用的安裝的請(qǐng)求,其中所述 軟件應(yīng)用需要應(yīng)用執(zhí)行環(huán)境程序的操作,所述應(yīng)用執(zhí)行環(huán)境程序包 括跨平臺(tái)應(yīng)用程序接口 ,用以為應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用提供服 務(wù);以及當(dāng)所述目標(biāo)計(jì)算機(jī)缺少所述應(yīng)用執(zhí)行環(huán)境程序時(shí),在安裝序 列中提供所述軟件應(yīng)用以及所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝;其中,所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序的所述安裝作 為單個(gè)安裝事務(wù)聯(lián)系在一起,從而其一起成功或失敗。
18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述提供包括在所述 安裝序列首次啟動(dòng)時(shí),提供與所述軟件應(yīng)用相關(guān)的初始安裝用戶界 面面板。
19. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述安裝序列包括呈現(xiàn) 給用戶的用戶界面面板,所述用戶界面面板包括關(guān)于所述應(yīng)用執(zhí)行 環(huán)境程序?qū)㈦S同所述軟件應(yīng)用安裝的通知。
20. 根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述提供包括提供用 戶界面面板,以用于呈現(xiàn)給用戶,以及收集針對(duì)軟件應(yīng)用安裝的安 裝偏好,其中所述通知包括所述軟件應(yīng)用安裝需要應(yīng)用執(zhí)行環(huán)境程序安裝的指示。
21. 根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述安裝序列包括 安裝用戶界面面板,用以接收用戶希望安裝所述軟件應(yīng)用的確認(rèn);用戶界面面板,其包括關(guān)于所述應(yīng)用執(zhí)行環(huán)境程序?qū)㈦S同所述軟 件應(yīng)用進(jìn)行安裝的通知;許可協(xié)議用戶界面面板,用以接收針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的 用戶許可協(xié)議的接受;以及安裝進(jìn)度用戶界面面板,用以使用單個(gè)進(jìn)度指示器來(lái)呈現(xiàn)所述軟 件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝進(jìn)度,其中所述進(jìn)度指 示器貫穿所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝。
22. 根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述提供包括 通過(guò)參考所述軟件應(yīng)用的安裝包,啟動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的第一安裝程序;利用將要安裝所述應(yīng)用執(zhí)行環(huán)境程序的指示,從所述第一安裝程序調(diào)用所述安裝包的第二安裝程序;由所述第二安裝程序呈現(xiàn)包括插入通知的用戶界面;以及 在用戶接受針對(duì)所述應(yīng)用執(zhí)行環(huán)境程序的許可協(xié)議之后,安裝所述應(yīng)用執(zhí)行環(huán)境程序,繼而安裝所述軟件應(yīng)用。
23. 根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述安裝包括所述第 二安裝程序驅(qū)動(dòng)所述應(yīng)用執(zhí)行環(huán)境程序的安裝、繼而驅(qū)動(dòng)所述軟件 應(yīng)用的安裝,這在事務(wù)上是作為單個(gè)安裝,使用貫穿安裝的安裝進(jìn) 度條。
24. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述提供包括向所述目標(biāo)計(jì)算機(jī)提供包括所述應(yīng)用執(zhí)行環(huán)境程序和所述安裝 程序的安裝程序包,以便通過(guò)運(yùn)行被拷貝到所述目標(biāo)計(jì)算機(jī)的應(yīng)用 執(zhí)行環(huán)境中的安裝程序,來(lái)安裝所述應(yīng)用執(zhí)行環(huán)境程序和所述軟件 應(yīng)用。
25. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述一個(gè)或多個(gè)計(jì)算機(jī)包括服務(wù)器,其可操作以用于通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)來(lái)與所述目標(biāo)計(jì)算 機(jī)交互,并且所述目標(biāo)計(jì)算機(jī)可操作以用于作為客戶端與所述服務(wù) 器交互。
26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中所述目標(biāo)計(jì)算機(jī)包括運(yùn) 行web瀏覽器的個(gè)人計(jì)算機(jī),或者運(yùn)行無(wú)線應(yīng)用協(xié)議瀏覽器的移動(dòng) 通信設(shè)備。
全文摘要
用于在計(jì)算機(jī)上安裝包括應(yīng)用執(zhí)行環(huán)境在內(nèi)的軟件的方法、系統(tǒng)、裝置以及介質(zhì)編碼的計(jì)算機(jī)程序產(chǎn)品。本說(shuō)明書(shū)所描述主題的一個(gè)或多個(gè)方面可以實(shí)現(xiàn)在一個(gè)或多個(gè)方法中,包括接收在目標(biāo)計(jì)算機(jī)上提供軟件應(yīng)用的安裝的請(qǐng)求,其中所述軟件應(yīng)用需要應(yīng)用執(zhí)行環(huán)境程序的操作,所述應(yīng)用執(zhí)行環(huán)境程序包括跨平臺(tái)應(yīng)用程序接口,用以為應(yīng)用執(zhí)行環(huán)境中運(yùn)行的應(yīng)用提供服務(wù);以及當(dāng)所述目標(biāo)計(jì)算機(jī)缺少所述應(yīng)用執(zhí)行環(huán)境程序時(shí),在安裝序列中提供所述軟件應(yīng)用以及所述應(yīng)用執(zhí)行環(huán)境程序二者的安裝;其中所述軟件應(yīng)用和所述應(yīng)用執(zhí)行環(huán)境程序的所述安裝作為單個(gè)安裝事務(wù)聯(lián)系在一起,從而其一起成功或失敗。
文檔編號(hào)G06F9/445GK101681265SQ200880019210
公開(kāi)日2010年3月24日 申請(qǐng)日期2008年6月6日 優(yōu)先權(quán)日2007年6月8日
發(fā)明者C·布里馳弗德, J·R·克拉克, L·波蘭科, O·戈?duì)柕侣?申請(qǐng)人:奧多比公司