專利名稱:多安裝程序產(chǎn)品部署的制作方法
多安裝程序產(chǎn)品部署
s匕旦 冃足
許多小型到中型商業(yè)組織具有允許由網(wǎng)絡(luò)管理員來分發(fā)軟件產(chǎn)品的網(wǎng)絡(luò) 基礎(chǔ)結(jié)構(gòu)。網(wǎng)絡(luò)上的客戶機(jī)用戶可具有使用該客戶機(jī)上的程序的權(quán)限但不具有 在該客戶機(jī)上安裝程序的權(quán)限。軟件產(chǎn)品可由網(wǎng)絡(luò)管理員通過手動地將程序安 裝在每個(gè)客戶機(jī)上來安裝在該客戶機(jī)上。這樣的安裝是非常費(fèi)時(shí)且乏味的。網(wǎng) 絡(luò)管理員還可使用軟件部署技術(shù)來通告可供下載到客戶機(jī)的軟件。這樣的部署 來自中央服務(wù)器并且因?yàn)檐浖a(chǎn)品可同時(shí)被通告到多個(gè)客戶機(jī),所以比手動安 裝花費(fèi)更少的時(shí)間。
若干軟件產(chǎn)品包括用于幫助通過軟件部署技術(shù)來在客戶機(jī)上安裝軟件產(chǎn) 品的單個(gè)產(chǎn)品安裝程序。在這種情況下,該單個(gè)產(chǎn)品安裝程序捆綁應(yīng)用程序二
進(jìn)制代碼和應(yīng)用程序?qū)S觅Y源。同樣,許多軟件部署技術(shù)在軟件分發(fā)期間只可 將單個(gè)產(chǎn)品安裝程序部署到客戶機(jī)。
軟件產(chǎn)品還可用多個(gè)產(chǎn)品安裝程序來編程。在這種情況下, 一個(gè)產(chǎn)品安裝 程序可包括應(yīng)用程序二進(jìn)制代碼并且多個(gè)其他安裝程序可包括應(yīng)用程序?qū)S?資源。在過去,只可部署單個(gè)產(chǎn)品安裝程序的軟件部署技術(shù)不能夠幫助安裝用 多個(gè)產(chǎn)品安裝程序編程的軟件產(chǎn)品。
概述
提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一 些概念。本概述不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵和/或必要特征。同樣,本 概述不旨在限制要求保護(hù)的主題的范圍。
自定義動作與核心安裝程序相關(guān)聯(lián)以利用該核心安裝程序的特權(quán)來在鎖 定的客戶機(jī)設(shè)備上安裝附屬安裝程序(satellite installer)。自定義動作允許多 安裝程序軟件產(chǎn)品通過針對單安裝程序軟件產(chǎn)品配置的軟件部署技術(shù)來安裝 在客戶機(jī)上。由此,多安裝程序軟件產(chǎn)品可容易地被部署并安裝在客戶機(jī)設(shè)備 上。附圖簡述
參考以下附圖描述了本發(fā)明的非限定性且非窮盡的實(shí)施例,其中除非另有 指定,否則相同的附圖標(biāo)記指代各個(gè)視圖中相同的部分。 圖l示出一示例性計(jì)算設(shè)備;
圖2表示用于在網(wǎng)絡(luò)中部署軟件產(chǎn)品的一個(gè)示例性環(huán)境; 圖3表示用于安裝多安裝程序產(chǎn)品的一個(gè)示例性系統(tǒng)的概觀; 圖4表示用于安裝多安裝程序產(chǎn)品的操作流程圖;以及 圖5表示用于執(zhí)行自定義動作的操作流程圖。
詳細(xì)描述
以下將參考形成本發(fā)明一部分并示出各具體示例性實(shí)施例的附圖更詳盡 地描述各個(gè)實(shí)施例。然而,各實(shí)施例可以用許多不同的形式實(shí)現(xiàn)并且不應(yīng)被解 釋為限于在此所述的各實(shí)施例;相反,提供這些實(shí)施例以使得本公開變得全面 且完整,并且完全傳達(dá)本發(fā)明的范圍。各實(shí)施例可被實(shí)踐為方法、系統(tǒng)或設(shè)備。 因此,各實(shí)施例可采用完全硬件實(shí)現(xiàn)、完全軟件實(shí)現(xiàn)或者結(jié)合軟件和硬件方面 實(shí)現(xiàn)的形式。因此,以下詳細(xì)描述并非是局限性的。
各實(shí)施例的邏輯操作被實(shí)現(xiàn)為(l)在計(jì)算系統(tǒng)上運(yùn)行的計(jì)算機(jī)實(shí)現(xiàn)的步驟 的序列,和/或(2)計(jì)算系統(tǒng)內(nèi)部的互連的機(jī)器模塊。該實(shí)現(xiàn)是取決于實(shí)現(xiàn)本發(fā) 明的計(jì)算機(jī)系統(tǒng)的性能要求來選擇的。因此,組成在此描述的這些實(shí)施例的邏
輯操作另外還可被稱為操作、步驟或模塊。
在小型到中型商業(yè)組織中,軟件產(chǎn)品以許多不同的方式安裝在客戶機(jī)器 上。當(dāng)用戶具有對客戶機(jī)設(shè)備的管理權(quán)限時(shí),該用戶可從因特網(wǎng)下載軟件產(chǎn)品 或從計(jì)算機(jī)可讀介質(zhì)安裝軟件產(chǎn)品。這些權(quán)限很少被發(fā)放給典型商業(yè)環(huán)境中的 用戶,因?yàn)樯虡I(yè)組織期望維持對用戶在客戶機(jī)設(shè)備上所具有的軟件的控制。出 于這些原因,許多商業(yè)組織在客戶機(jī)設(shè)備上具有受限的特權(quán)。這些受限的特權(quán) 可禁止軟件產(chǎn)品的安裝。
在這種情況下,網(wǎng)絡(luò)管理員可具有在客戶機(jī)設(shè)備上維護(hù)和安裝軟件的責(zé) 任。為了在客戶機(jī)設(shè)備上安裝軟件產(chǎn)品,網(wǎng)絡(luò)管理員可能需要手動地在每個(gè)客戶機(jī)設(shè)備上安裝軟件。網(wǎng)絡(luò)管理員用提高的特權(quán)登錄到客戶機(jī)設(shè)備上。網(wǎng)絡(luò)管 理員然后可將軟件產(chǎn)品安裝到客戶機(jī)設(shè)備上。以此方式安裝軟件產(chǎn)品在具有少 量客戶機(jī)設(shè)備的商業(yè)組織中可能是可接受的。然而,隨著客戶機(jī)設(shè)備數(shù)量增長, 在客戶機(jī)設(shè)備中的每一個(gè)上安裝軟件產(chǎn)品所需的時(shí)間和勞動也隨之增長。
當(dāng)網(wǎng)絡(luò)管理員期望在若干設(shè)備上安裝軟件產(chǎn)品時(shí),商業(yè)組織的網(wǎng)絡(luò)結(jié)構(gòu)可 允許該網(wǎng)絡(luò)管理員利用軟件部署技術(shù)來遠(yuǎn)程地將軟件安裝在客戶機(jī)設(shè)備上。軟 件部署技術(shù)可幫助安裝具有單個(gè)安裝程序的軟件產(chǎn)品。單安裝程序軟件產(chǎn)品是 包括被捆綁成單個(gè)安裝程序的應(yīng)用程序二進(jìn)制代碼和應(yīng)用程序?qū)S觅Y源的軟 件產(chǎn)品。軟件部署技術(shù)通告客戶機(jī)設(shè)備上的軟件產(chǎn)品的單個(gè)安裝程序。當(dāng)發(fā)起 安裝動作時(shí),軟件產(chǎn)品被安裝在客戶機(jī)設(shè)備上。
某些軟件產(chǎn)品還可包括多個(gè)安裝程序。在這種情況下,軟件產(chǎn)品可包括與 應(yīng)用程序二進(jìn)制代碼相關(guān)聯(lián)的核心安裝程序。該軟件還可包括與應(yīng)用程序資源 相關(guān)聯(lián)的多個(gè)附屬安裝程序。多安裝程序軟件產(chǎn)品對于被配置成只安裝具有單 個(gè)安裝程序的軟件產(chǎn)品的軟件部署技術(shù)是有問題的,因?yàn)榇祟愜浖渴鸺夹g(shù)只 識別一個(gè)安裝程序。
適當(dāng)配置的自定義動作允許具有多個(gè)安裝程序的軟件產(chǎn)品使用這一軟件 部署技術(shù)來安裝。自定義動作與軟件產(chǎn)品的核心安裝程序相關(guān)聯(lián)。軟件部署技 術(shù)通告客戶機(jī)設(shè)備上的核心安裝程序。當(dāng)發(fā)起安裝動作時(shí),執(zhí)行與該核心安裝 程序相關(guān)聯(lián)的自定義動作。標(biāo)識核心安裝程序的源并且掃描該源以確定附屬安 裝程序是否與該軟件產(chǎn)品相關(guān)聯(lián)。如果附屬安裝程序與該產(chǎn)品相關(guān)聯(lián),則自定 義動作訪問與附屬安裝程序相關(guān)聯(lián)的腳本并通告該客戶機(jī)上的附屬安裝程序 以便于安裝。
簡而言之,與核心安裝程序相關(guān)聯(lián)的自定義動作利用該核心安裝程序的特 權(quán)來將附屬安裝程序安裝在鎖定的客戶機(jī)設(shè)備上。自定義動作允許通過針對單 安裝程序軟件產(chǎn)品配置的軟件部署技術(shù)來將多安裝程序軟件產(chǎn)品安裝在客戶 機(jī)上。由此,多安裝程序軟件產(chǎn)品可容易地被部署并安裝在客戶機(jī)設(shè)備上。
圖2表示用于在網(wǎng)絡(luò)中部署多安裝程序軟件產(chǎn)品的一個(gè)示例性環(huán)境。系統(tǒng)
200表示計(jì)算環(huán)境的模塊化概覽。系統(tǒng)200可包括計(jì)算設(shè)備202。計(jì)算設(shè)備202 可包括臺式計(jì)算設(shè)備、移動計(jì)算設(shè)備、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理、筆記本計(jì)算機(jī)和/或用于存儲數(shù)據(jù)的任何其他類型的計(jì)算設(shè)備。在一方面,計(jì)算設(shè)備
202包括如
圖1中所例示的計(jì)算設(shè)備100。
系統(tǒng)200還包括服務(wù)器204。服務(wù)器204可與管理員終端相關(guān)聯(lián)。服務(wù)器 204可包括幫助網(wǎng)絡(luò)化環(huán)境中的產(chǎn)品部署的任何類型的服務(wù)器。服務(wù)器204通 過網(wǎng)絡(luò)連接206與計(jì)算設(shè)備202通信。網(wǎng)絡(luò)連接206可包括硬連線網(wǎng)絡(luò)連接和 /或無線網(wǎng)絡(luò)連接。網(wǎng)絡(luò)連接206可包括用于在計(jì)算設(shè)備與服務(wù)器之間傳送數(shù)據(jù) 的任何類型的網(wǎng)絡(luò)連接。網(wǎng)絡(luò)連接206包括幫助產(chǎn)品部署的任何類型的網(wǎng)絡(luò)連 接。
在分布式環(huán)境中,服務(wù)器204可包括產(chǎn)品映像208和安裝程序部署模塊 210。例如,管理員可將產(chǎn)品映像208與服務(wù)器204相關(guān)聯(lián)以便于將產(chǎn)品部署 到客戶機(jī)202??蛻魴C(jī)202可在客戶機(jī)202上安裝產(chǎn)品212。
在一個(gè)實(shí)施例中,產(chǎn)品212是多安裝程序產(chǎn)品,諸如總部位于華盛頓州雷 蒙德市的微軟公司的"微軟OFFICE"產(chǎn)品。在這種情況下,產(chǎn)品映像208包 括核心安裝程序214和附屬安裝程序216。在另一個(gè)實(shí)施例中,安裝程序部署 模塊210是單安裝程序部署模塊,諸如總部位于華盛頓州雷蒙德市的微軟公司 的"微軟現(xiàn)用目錄"等。核心安裝程序214可包括自定義動作218。核心安裝 程序214在將產(chǎn)品部署到客戶機(jī)202期間由安裝程序部署模塊210來部署。自 定義動作218利用核心安裝程序214的特權(quán)來在客戶機(jī)202處于鎖定模式時(shí)安 裝附屬安裝程序216。
圖3表示用于安裝多安裝程序產(chǎn)品的一個(gè)示例性系統(tǒng)的概觀。系統(tǒng)300 表示客戶機(jī)302和服務(wù)器304的模塊化概觀。系統(tǒng)300可以被集成為軟件和硬 件元素、操作系統(tǒng)或其任意組合的組合。在此所引用的硬件、數(shù)據(jù)庫、軟件、 應(yīng)用程序和/或程序可作為單個(gè)元素集成,或者可以包括彼此通信的各種元素。 除非在此特別指定,否則軟件和/或硬件元素只是出于解釋的目的而在此描繪 的,而并非用于將配置限于執(zhí)行若干功能的多個(gè)元素或單個(gè)元素。例如,如圖 3所描繪的,系統(tǒng)300包括客戶機(jī)302,其具有安裝程序306、注冊表308、通 告310、執(zhí)行程序312、自定義動作314、核心安裝程序316、附屬安裝程序318 和附屬安裝程序通告320。附圖標(biāo)記306-320可包括單獨(dú)的程序、單獨(dú)的數(shù)據(jù) 庫和單獨(dú)的硬件。附圖標(biāo)記306-320還可包括單個(gè)程序或單個(gè)和多個(gè)程序的任意組合。類似地,系統(tǒng)300包括服務(wù)器304,其具有產(chǎn)品映像322、核心安裝 程序324、自定義動作326、附屬安裝程序328和安裝程序部署模塊330。附圖 標(biāo)記322-330可包括單獨(dú)的程序、單獨(dú)的數(shù)據(jù)庫和單獨(dú)的硬件。附圖標(biāo)記 322-330還可包括單個(gè)程序或單個(gè)和多個(gè)程序的任意組合。
服務(wù)器304可與產(chǎn)品映像322相關(guān)聯(lián)。產(chǎn)品映像322是多安裝程序產(chǎn)品的 產(chǎn)品映像。產(chǎn)品映像322包括核心安裝程序324和附屬安裝程序328。核心安 裝程序324包括用于該產(chǎn)品的二進(jìn)制應(yīng)用程序位。例如,如果產(chǎn)品映像322是 "微軟OFFICE"的產(chǎn)品映像,則核心安裝程序324可包括用于"微軟WORD"、 "微軟EXCEL"、"微軟OUTLOOK"、"微軟POWERPOINT"和/或"微 軟ACCESS"的二進(jìn)制位。核心安裝程序324還可包括自定義動作326。如將 在以下更全面闡述的,自定義動作326利用核心安裝程序324的特權(quán)以便于將 附屬安裝程序328安裝在客戶機(jī)302上。
產(chǎn)品映像322還包括附屬安裝程序328。附屬安裝程序328可包括任何數(shù) 量的安裝程序。在一方面,附屬安裝程序328包括與核心安裝程序324相關(guān)聯(lián) 的資源安裝程序。資源安裝程序可包括語言資源、來自校樣的語言資源和/或與 語言或地理區(qū)域相關(guān)聯(lián)的任何類型的資源。附屬安裝程序可預(yù)生成嵌于其中的 已通告腳本。核心安裝程序324和附屬安裝程序328是與產(chǎn)品映像322相關(guān)聯(lián) 的獨(dú)立安裝程序。
安裝程序部署模塊330是單安裝程序部署模塊。在一方面,安裝程序部署 模塊330包括微軟現(xiàn)用目錄。安裝程序部署模塊330將核心安裝程序324發(fā)布 /分配到客戶機(jī)302。為了發(fā)布/分配核心安裝程序324,安裝程序部署模塊330 可生成一腳本并將該腳本發(fā)布到客戶機(jī)302。
客戶機(jī)302接收該腳本。該腳本包括自定義動作326。安裝程序306用來 自該腳本的數(shù)據(jù)填充注冊表308以生成通告310。通告310是軟件產(chǎn)品準(zhǔn)備好 安裝在客戶機(jī)302上的指示符。執(zhí)行程序312可包括用戶啟動以開始安裝的圖 標(biāo)和/或按鈕。在另一方面,執(zhí)行程序312是開始一安裝的引導(dǎo)過程。在任一種 情況下,核心安裝程序324被安裝在客戶機(jī)30上2并且執(zhí)行與核心安裝程序 324相關(guān)聯(lián)的自定義動作326。
自定義動作326利用核心安裝程序324的特權(quán)來訪問附屬安裝程序328。如將在以下更全面闡述的,自定義動作326包括用于標(biāo)識產(chǎn)品包括多個(gè)安裝程
序以及核心安裝程序324已被高速緩存的代碼。自定義動作326確定產(chǎn)品源并 且枚舉與產(chǎn)品映像322相關(guān)聯(lián)的附屬安裝程序的列表。附屬安裝程序328與客 戶機(jī)302相關(guān)聯(lián)。訪問附屬安裝程序328的預(yù)生成的腳本并將該腳本應(yīng)用于客 戶機(jī)302以方便附屬安裝程序通告310。對于最終用戶,該安裝過程是無縫的, 猶如該產(chǎn)品映像包括單個(gè)安裝程序一樣。
圖4表示用于安裝多安裝程序產(chǎn)品的操作流程圖。操作流程400從開始操 作402處開始并行進(jìn)至判定操作404。在判定操作404處,決定是否發(fā)出產(chǎn)品 部署動作。在一方面,產(chǎn)品部署在管理員決定在客戶機(jī)設(shè)備的系統(tǒng)上分發(fā)新的 和/或更新的軟件產(chǎn)品時(shí)發(fā)生。例如,網(wǎng)絡(luò)管理員可決定用微軟OFFICE 12更 新客戶機(jī)設(shè)備。在一方面,產(chǎn)品部署與多安裝程序軟件產(chǎn)品相關(guān)聯(lián)。
當(dāng)不需要產(chǎn)品部署時(shí),操作流程400循環(huán)返回并等待產(chǎn)品部署動作。當(dāng)需 要產(chǎn)品部署時(shí),操作流程400繼續(xù)至操作406。在操作406處,發(fā)布/分配多安 裝程序軟件產(chǎn)品的核心安裝程序。在一方面,諸如微軟現(xiàn)用目錄等軟件部署技 術(shù)將核心安裝程序發(fā)布到客戶機(jī)。盡管不是必需的,但操作流程400可繼續(xù)至 其中通告核心安裝程序的操作408。當(dāng)該核心安裝程序在軟件部署技術(shù)將該核 心安裝程序發(fā)布到客戶機(jī)時(shí)通告該核心安裝程序。該通告可包括其中可手動地 實(shí)例化安裝的入口點(diǎn)。在一方面,當(dāng)該核心安裝程序被分配到客戶機(jī)時(shí)不生成 通告。當(dāng)已分配時(shí),引導(dǎo)進(jìn)程可自動實(shí)例化安裝過程。
操作流程400繼續(xù)至操作410。操作410包括實(shí)例化安裝。如上所述,安 裝可通過選擇一入口點(diǎn)或運(yùn)行引導(dǎo)進(jìn)程來實(shí)例化。操作流程400繼續(xù)至其中執(zhí) 行自定義動作的操作412。自定義動作是在已發(fā)布/分配核心安裝程序時(shí)利用該 核心安裝程序的特權(quán)的與該核心安裝程序相關(guān)聯(lián)的程序。自定義動作利用核心 安裝程序的特權(quán)來當(dāng)客戶機(jī)設(shè)備在鎖定模式中時(shí)訪問并安裝附屬安裝程序。操 作412將在以下參考圖5更詳盡地解釋。
操作流程400繼續(xù)至其中將附屬安裝程序發(fā)布/分配到客戶機(jī)設(shè)備的操作 414。對于最終用戶,自定義動作的功能創(chuàng)建一安裝進(jìn)程,猶如該軟件產(chǎn)品包 括單個(gè)安裝程序一樣。附屬安裝程序可通過啟動入口點(diǎn)或引導(dǎo)進(jìn)程來安裝。操 作流程繼續(xù)至結(jié)束操作416。圖5表示用于執(zhí)行自定義動作的操作流程圖。操作流程500從開始操作
502處開始并繼續(xù)至判定操作504。在判定操作504處,判定是否已經(jīng)啟動安 裝觸發(fā)器。如上所述,安裝觸發(fā)器可通過用戶啟動入口點(diǎn)來啟動。安裝觸發(fā)器 也可由引導(dǎo)操作來啟動。當(dāng)啟動安裝觸發(fā)器時(shí),操作流程繼續(xù)至操作506。當(dāng) 啟動安裝觸發(fā)器時(shí)啟動與核心安裝程序相關(guān)聯(lián)的自定義動作。
在執(zhí)行自定義動作時(shí),操作流程500繼續(xù)至其中標(biāo)識情形的操作508。自 定義動作包括用于標(biāo)識核心安裝程序已被高速緩存的代碼。自定義動作還包括 用于標(biāo)識完成安裝需要更多的安裝程序的代碼。當(dāng)標(biāo)識了情形時(shí),操作流程500 繼續(xù)至操作510。
在操作510處,標(biāo)識軟件產(chǎn)品源。自定義動作包括確定核心安裝程序的源 的代碼。在查找源時(shí),自定義動作可將地址與位置相關(guān)聯(lián)和/或通過標(biāo)識符找出 源。操作流程500繼續(xù)至其中確定相關(guān)聯(lián)的附屬安裝程序的操作512。當(dāng)返回 到源時(shí),自定義動作掃描該源以確定附屬安裝程序是否與核心安裝程序相關(guān) 聯(lián)。在確定相關(guān)聯(lián)的附屬安裝程序時(shí),可生成與核心安裝程序相關(guān)聯(lián)的附屬安 裝程序的列表。
操作流程500繼續(xù)至其中訪問與附屬安裝程序相關(guān)聯(lián)的預(yù)生成的腳本的 操作514。附屬安裝程序可包括預(yù)生成并被編碼到附屬安裝程序中的腳本。預(yù) 生成的腳本可包括一組默認(rèn)值。操作流程500繼續(xù)至其中將預(yù)生成的腳本應(yīng)用 于客戶機(jī)以便發(fā)布/分配到該客戶機(jī)設(shè)備的操作516。在操作518處更新源位置。 由于附屬安裝程序包括默認(rèn)值,因此在應(yīng)用腳本之后訪問實(shí)際值。也清除與附 屬安裝程序相關(guān)聯(lián)的元數(shù)據(jù)以使得附屬安裝程序標(biāo)識與核心安裝程序相同的 位置。
以此方式,與核心安裝程序相關(guān)聯(lián)的自定義動作利用該核心安裝程序的特 權(quán)來將附屬安裝程序安裝在鎖定的客戶機(jī)設(shè)備上。自定義動作允許多安裝程序 軟件產(chǎn)品通過針對單安裝程序軟件產(chǎn)品配置的軟件部署技術(shù)來安裝在客戶機(jī) 上。以此方式,多安裝程序軟件產(chǎn)品可容易地被部署并安裝在客戶機(jī)設(shè)備上。
參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括諸如計(jì)算設(shè)備IOO等計(jì)算設(shè) 備。在基本配置中,計(jì)算設(shè)備100可包括任何類型的固定計(jì)算設(shè)備或移動計(jì)算 設(shè)備。計(jì)算設(shè)備100通常包括至少一個(gè)處理單元102和系統(tǒng)存儲器104。取決于計(jì)算設(shè)備的確切配置和類型,系統(tǒng)存儲器104可以是易失性的(諸如RAM)、 非易失性的(諸如ROM、閃存等)或兩者的某一組合。系統(tǒng)存儲器104通常 包括操作系統(tǒng)105、 一個(gè)或多個(gè)應(yīng)用程序106,并且可包括程序數(shù)據(jù)107。在一 個(gè)實(shí)施例中,應(yīng)用程序106還包括用于多安裝程序產(chǎn)品部署的應(yīng)用程序120。 該基本配置在圖1中由虛線108中的那些組件示出。
計(jì)算設(shè)備100還可具有附加特征或功能。例如,計(jì)算設(shè)備100還可包括附 加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),諸如,例如磁盤、光盤或磁帶。這 樣的附加存儲在圖1中由可移動存儲109和不可移動存儲110示出。計(jì)算機(jī)存 儲介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù) 據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介 質(zhì)。系統(tǒng)存儲器104、可移動存儲109和不可移動存儲110都是計(jì)算機(jī)存儲介 質(zhì)的示例。計(jì)算機(jī)存儲介質(zhì)包括,但不限于,RAM、 ROM、 EEPROM、閃存 或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶 盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或能用于存儲所需信息且可以由計(jì) 算設(shè)備100訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)都可以是設(shè)備 100的一部分。計(jì)算設(shè)備100還可具有輸入設(shè)備112,諸如鍵盤、鼠標(biāo)、筆、 語音輸入設(shè)備、觸摸輸入設(shè)備等。還可包括輸出設(shè)備114,諸如顯示器、揚(yáng)聲 器、打印機(jī)等。
計(jì)算裝置100還包含允許該設(shè)備諸如通過網(wǎng)絡(luò)或無線網(wǎng)絡(luò)與其它計(jì)算設(shè) 備118進(jìn)行通信的通信連接116。通信連接116是通信介質(zhì)的一個(gè)示例。通信 介質(zhì)通常以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指 令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語"已調(diào) 制數(shù)據(jù)信號"指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特 征的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接 線連接,以及無線介質(zhì),諸如聲學(xué)、射頻、紅外線和其它無線介質(zhì)。如此處所 使用的,術(shù)語計(jì)算機(jī)可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。
盡管用結(jié)構(gòu)特征和/或方法步驟專用的語言描述了本發(fā)明,但可以理解, 所附權(quán)利要求書中定義的本發(fā)明不必限于所述的特定特征或步驟。相反,特定 特征和步驟是作為實(shí)現(xiàn)所要求保護(hù)的本發(fā)明的各形式來公開的。因?yàn)榭梢栽诓槐畴x本發(fā)明的精祌和范圍的情況下做出本發(fā)明的許多實(shí)施例,所以本發(fā)明落在 所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1. 一種用于用單安裝程序部署來安裝多安裝程序程序的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括將自定義動作與程序的核心安裝程序相關(guān)聯(lián);實(shí)例化所述核心安裝程序的安裝,其中所述自定義動作在所述核心安裝程序的安裝期間執(zhí)行;以及利用所述核心安裝程序的特權(quán)以便于訪問由所述自定義動作標(biāo)識的附屬安裝程序。
2. 如權(quán)利要求l所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述程序是 具有多個(gè)安裝程序的軟件程序。
3. 如權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述核心安 裝程序包括應(yīng)用程序二進(jìn)制代碼并且所述附屬安裝程序包括資源串。
4. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,實(shí)例化所述 安裝包括引導(dǎo)進(jìn)程。
5. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,實(shí)例化所述 安裝包括通告所述核心安裝程序并激活與所述通告相關(guān)聯(lián)的入口點(diǎn)。
6. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述自定義 動作被配置成標(biāo)識所述核心安裝程序的源。
7. 如權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述自定義 動作被配置成利用所述核心安裝程序的特權(quán)來掃描所述源。
8. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述自定義 動作被配置成標(biāo)識與所述核心安裝程序相關(guān)聯(lián)的附屬安裝程序。
9. 如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述自定義 動作被配置成訪問與所述附屬安裝程序相關(guān)聯(lián)的腳本。
10. 如權(quán)利要求9所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述腳本是 預(yù)配置的并被嵌入在所述附屬安裝程序中。
11. 如權(quán)利要求9所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,通告所述腳本。
12. —種具有用于在核心安裝程序的安裝期間訪問附屬安裝程序的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令包括在所述核心安裝程序的安裝期間確定所述附屬安裝程序的關(guān)聯(lián);標(biāo)識所述核心安裝程序的源;掃描所述源;標(biāo)識與所述核心安裝程序相關(guān)聯(lián)的附屬安裝程序; 訪問與所述附屬安裝程序相關(guān)聯(lián)的預(yù)生成的腳本; 通告所述附屬安裝程序的預(yù)生成的腳本。
13. 如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,確定所述附 屬安裝程序的關(guān)聯(lián)由與所述核心安裝程序相關(guān)聯(lián)的自定義動作來促進(jìn)。
14. 如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述預(yù)生成 的腳本包括默認(rèn)值。
15. 如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括訪問 所述預(yù)生成的腳本的實(shí)際值并用所述實(shí)際值替換所述默認(rèn)值。
16. —種用于利用核心安裝程序的特權(quán)來訪問附屬安裝程序的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括-將自定義動作與多安裝程序程序的核心安裝程序相關(guān)聯(lián);實(shí)例化所述核心安裝程序的安裝;在實(shí)例化安裝時(shí)執(zhí)行所述核心安裝程序的自定義動作,其中所述自定義動作被配置成標(biāo)識所述核心安裝程序的源; 利用所述核心安裝程序的特權(quán)來掃描所述源; 標(biāo)識與所述核心安裝程序相關(guān)聯(lián)的附屬安裝程序; 訪問與所述附屬安裝程序相關(guān)聯(lián)的腳本;以及 通告與所述附屬安裝程序相關(guān)聯(lián)的腳本。
17. 如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括用 單安裝程序部署模塊部署所述核心安裝程序。
18. 如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,所述核心 安裝程序包括應(yīng)用程序二進(jìn)制代碼并且所述附屬安裝程序包括資源串。
19. 如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,實(shí)例化所 述安裝包括引導(dǎo)進(jìn)程。
20. 如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,實(shí)例化所 述安裝包括通告所述核心安裝程序并激活與所述通告相關(guān)聯(lián)的入口點(diǎn)。
全文摘要
與核心安裝程序相關(guān)聯(lián)的自定義動作利用該核心安裝程序的特權(quán)來訪問附屬安裝程序。自定義動作包括用于標(biāo)識軟件產(chǎn)品包括多個(gè)安裝程序以及核心安裝程序已被高速緩存的代碼。自定義動作確定產(chǎn)品源。所標(biāo)識的附屬安裝程序與客戶機(jī)設(shè)備相關(guān)聯(lián)。訪問附屬安裝程序的預(yù)生成的腳本并將該腳本應(yīng)用于客戶機(jī)以方便附屬安裝程序通告/分配。以此方式,與核心安裝程序相關(guān)聯(lián)的自定義動作利用該核心安裝程序的特權(quán)來在鎖定的客戶機(jī)設(shè)備上安裝附屬安裝程序。自定義動作允許多安裝程序軟件產(chǎn)品通過針對單安裝程序軟件產(chǎn)品配置的軟件部署技術(shù)來安裝在客戶機(jī)上。由此,多安裝程序軟件產(chǎn)品可容易地被部署并安裝在客戶機(jī)設(shè)備上。
文檔編號G06F15/16GK101438265SQ200780015940
公開日2009年5月20日 申請日期2007年3月29日 優(yōu)先權(quán)日2006年5月1日
發(fā)明者J·M·詹姆斯, P·C·巴爾 申請人:微軟公司