創(chuàng)建或安裝用于具有多個硬件平臺中的一個的目標裝置的磁盤映像的制作方法
【專利摘要】說明了將磁盤鏡像安裝到具有特定類別的硬件平臺的客戶端設備上,其中所述磁盤鏡像包括用于多個硬件平臺的多個驅動。磁盤鏡像存儲在客戶端設備上,根據(jù)客戶端設備的硬件平臺在客戶端設備上安裝驅動存儲中的至少一個驅動。提取設備驅動配置文件,其中設備驅動配置文件標識與硬件平臺的類別關聯(lián)的一個或者多個驅動,以及標識由所述多個硬件平臺中的兩個或者多個共享的一個或者多個通用驅動。從驅動存儲中刪除在設備驅動配置文件中標識的、以及不與客戶端設備的類別關聯(lián)的、也不與客戶端設備的硬件平臺關聯(lián)的驅動。
【專利說明】創(chuàng)建或安裝用于具有多個硬件平臺中的一個的目標裝置的 磁盤映像
【技術領域】
[0001] 本技術主題一般涉及鏡像建立過程,更具體地涉及具有多個硬件平臺中的一個的 目標設備的磁盤鏡像的創(chuàng)建或安裝。
【背景技術】
[0002] 對于網(wǎng)絡管理者或者系統(tǒng)集成者,為了安裝、更新或者維護大量精簡客戶端設備 上的軟件應用和/或驅動,管理者面臨兩種選擇。管理者可以在一個設備上安裝或者更新 軟件和/或驅動,創(chuàng)建設備鏡像,并將鏡像復制到所有類似設備上。然而在這種方法中,創(chuàng) 建的鏡像被配置為僅用于單個硬件平臺上,如果安裝在具有不同硬件平臺的設備上將不能 正確運行。作為結果,需要創(chuàng)建不同鏡像用于管理者維護的每個不同的硬件平臺,其可以導 致需要創(chuàng)建大量的鏡像。另外,磁盤鏡像可以是非常大的文件,在多個客戶端設備上安裝磁 盤鏡像可以能導致潛在的非常大的鏡像文件到所有設備的傳輸。為了不創(chuàng)建用于每個不同 硬件平臺的磁盤鏡像,以及為了不向每個客戶端設備傳輸大量磁盤鏡像文件,管理者可以 替換地單獨安裝或更新設備上的軟件應用和/或驅動。然而單獨安裝方法消耗大量時間, 尤其是考慮當大量設備或頻繁更新/安裝時。
【發(fā)明內容】
[0003] 提供了用于建立和安裝磁盤鏡像的方法和裝置示例。例如,提供了具有多個硬件 平臺中的一個的目標設備的磁盤鏡像的創(chuàng)建或安裝等等的方法和裝置示例。
[0004] 在一個方面,裝置可以包括目標客戶端設備的鏡像建立模塊,配置用于提取設備 驅動配置文件,其中設備驅動配置文件可以包括用于在多個硬件平臺的每一個上安裝多個 驅動中特定的一個或者多個的信息。設備驅動配置文件可以標識,對于多個硬件平臺的類 另IJ,與各自類別關聯(lián)的一個或者多個驅動,以及標識,對于由兩個或者多個硬件平臺共享的 一個或者多個通用驅動,與各自通用驅動關聯(lián)的硬件平臺。鏡像建立模塊可以在鏡像建立 設備的存儲器上安裝應用,其中鏡像建立設備可以包括預先存在的驅動。鏡像建立模塊可 以卸載預先存在的驅動,并根據(jù)提取的設備驅動配置文件,將驅動輸入到鏡像建立設備的 存儲器上的驅動存儲。驅動可以包括設備驅動配置文件中標識的一個或者多個驅動和一個 或者多個通用驅動。在安裝多個應用、卸載預先存在的驅動、以及輸入驅動之后,鏡像建立 模塊可以根據(jù)具有安裝的應用和輸入的驅動的鏡像建立設備的存儲器創(chuàng)建磁盤鏡像。
[0005] 裝置可以另外或者可選地包括客戶端設備的鏡像配置模塊,配置用于在客戶端設 備的存儲器上存儲磁盤鏡像。鏡像配置模塊可以根據(jù)客戶端設備的硬件平臺和利用具有多 個硬件平臺的多個驅動的磁盤鏡像的驅動存儲在客戶端設備上安裝至少一個驅動。鏡像配 置模塊可以提取設備驅動配置文件,其中設備驅動配置文件可以標識,對于多個硬件平臺 的類別,與各自類別關聯(lián)的一個或者多個驅動,以及標識,對于由兩個或者多個硬件平臺共 享的一個或者多個通用驅動,與各自一個或者多個通用驅動關聯(lián)的多個硬件平臺中的兩個 或者多個。鏡像配置模塊可以根據(jù)客戶端設備的硬件平臺的特定類別將設備驅動配置文件 中標識的一個或者多個驅動標識為與硬件平臺的特定類別關聯(lián)。鏡像配置模塊可以進一步 根據(jù)客戶端設備的硬件平臺將設備驅動配置文件中標識的一個或者多個通用驅動標識為 與客戶端設備的硬件平臺關聯(lián)。鏡像配置模塊然后可以驗證標識的與客戶端設備的硬件平 臺的特定類別關聯(lián)一個或者多個驅動,以及標識的與客戶端設備的硬件平臺關聯(lián)的一個或 者多個通用驅動安裝在客戶端設備上。最后,鏡像配置模塊可以識別在設備驅動配置文件 中標識的以及不包括在標識的與客戶端設備的硬件平臺的特定類別關聯(lián)的一個或者多個 驅動或者標識的與客戶端設備的硬件平臺關聯(lián)的一個或者多個通用驅動中的其它驅動;以 及可以從驅動存儲中刪除識別的其它驅動。
【專利附圖】
【附圖說明】
[0006] 圖1顯示了將應用和/或驅動部署到運行于不同硬件平臺的多個客戶端設備上的 系統(tǒng)示例。
[0007] 圖2是根據(jù)技術主題的不同方面顯示系統(tǒng)示例的概念結構圖。
[0008] 圖3A和3B顯示了創(chuàng)建用于將磁盤鏡像安裝到具有多種客戶端平臺中任一種的客 戶端設備上,以及將磁盤鏡像安裝到具有一種客戶端平臺的客戶端設備上的過程示例。
[0009] 圖4A和4B顯示了創(chuàng)建用于將磁盤鏡像安裝到運行于多種客戶端平臺中任一種的 客戶端設備上的過程示例。
[0010] 圖5A和5B顯示了將磁盤鏡像安裝到具有多種客戶端平臺中的一種的客戶端設備 上的過程示例。
[0011] 圖6A和6B顯示了安裝和驗證客戶端上驅動的安裝的過程示例。
[0012] 圖7A和7B顯示了分別用于存儲設備驅動配置文件和相關數(shù)據(jù),和用于存儲磁盤 鏡像和相關數(shù)據(jù)的數(shù)據(jù)結構示例。
[0013] 圖8A根據(jù)技術主題的不同方面顯示了操作系統(tǒng)和用于執(zhí)行操作的相關組件的示 例。
[0014] 圖8B根據(jù)技術主題的不同方面顯示了客戶端設備的簡化結構圖。
[0015] 圖9A根據(jù)技術主題的不同方面顯示了驅動管理應用的功能結構圖示例。
[0016] 圖9B-9J顯示了用于執(zhí)行與技術主題相關的不同功能的過程示例。
[0017] 圖10顯示了使用部署配置文件在客戶端設備上自動部署一個或者多個驅動的過 程不例。
[0018] 圖11顯示了使用部署配置文件在客戶端設備上自動部署一個或者多個應用的過 程不例。
[0019] 圖12A、12B和12C顯示了使用部署配置文件在客戶端設備上自動部署驅動和/或 應用的過程示例。
[0020] 圖13A和13B顯示了用于存儲部署配置文件和相關數(shù)據(jù)的數(shù)據(jù)結構示例。
[0021] 圖14A、14B和14C顯示了使用自動更新文件夾在客戶端設備上自動更新一個或者 多個驅動和/或應用的過程示例。
[0022] 圖15顯示了用于存儲自動更新文件夾和相關數(shù)據(jù)的數(shù)據(jù)結構示例。
[0023] 圖16A和16B顯示了在客戶端設備上自動更新和部署驅動和應用的過程示例。
[0024] 圖17A、17B和17C是根據(jù)本公開的一個方面表示用于將磁盤鏡像安裝到具有特殊 類型硬件平臺的客戶端設備上的方法、具有編碼指令的計算機可讀存儲介質、和裝置示例 的結構圖。
[0025] 圖18A、18B和18C是根據(jù)本公開的一個方面表示用于將驅動或應用部署到具有寫 入過濾器的客戶端設備上的方法、具有編碼指令的計算機可讀存儲介質、和裝置示例的結 構圖。
[0026] 圖19A、19B和19C是根據(jù)本公開的一個方面表示用于在具有寫入過濾器的客戶端 設備上部署和更新應用和驅動的方法、具有編碼指令的計算機可讀存儲介質、和裝置示例 的結構圖。
[0027] 圖20A、20B和20C是根據(jù)本公開的一個方面表示用于在客戶端設備上自動更新應 用或驅動的方法、具有編碼指令的計算機可讀存儲介質、和裝置示例的結構圖。
【具體實施方式】
[0028] 下面提出的詳細說明意圖為技術主題的不同配置的描述,并不表示技術主題可以 實現(xiàn)的唯一配置。附圖在此合并并作為詳細說明的一部分。為了提供對本技術主題的透徹 理解詳細說明包括特定細節(jié)。然而,本領域技術人員容易理解本技術主題可以無需這些特 定細節(jié)而實現(xiàn)。在一些實例中,公知的結構和組件以結構圖的形式顯示,以避免混淆本技術 主題的概念。為了便于理解類似組件標記為相同組件編號。
[0029] 一般結構
[0030] 一般來講,本公開描述了用于創(chuàng)建在多個硬件平臺上配置部署的主磁盤鏡像,和 用于在多個硬件平臺中任一個上智能地部署和安裝主磁盤鏡像的方法和系統(tǒng)的不同實例。 主磁盤鏡像包括用于多個硬件平臺的每一個的設備驅動和應用,并且能夠自動地配置為在 多個硬件平臺中的任一個上使用。本公開還描述了用于有效地向,例如,運行于企業(yè)網(wǎng)絡環(huán) 境的嵌入客戶端中的客戶端設備部署軟件應用、驅動、更新(例如,QFE)、和特征組件(例 如,微軟特征組件)的不同實例。本公開一般圍繞用于執(zhí)行部署的方法(和相關系統(tǒng))的 四個實例來組織。
[0031] 第一實例:根據(jù)主要關于流稈圖3A和3B顯示和說明的第一實例,說明了磁盤鏡像 的創(chuàng)建和安裝,包括多個硬件平臺的應用和/或驅動。
[0032] 第二實例:根據(jù)用于在具有多種硬件平臺中任一種的客戶端設備上安裝一個或者 多個應用和/或驅動的第二實例,鏡像建立設備被配置用于創(chuàng)建包括多種硬件平臺中的每 一個的應用和/或驅動的磁盤鏡像。在第二實例中,磁盤鏡像包括設備驅動配置文件。當 將磁盤鏡像復制到目標客戶端設備上和確定目標設備的特定硬件平臺之后,包括在鏡像中 用于特定硬件平臺的那些驅動被安裝在設備上。根據(jù)第二實例,主要關于圖4A和4B顯示 和說明磁盤鏡像的創(chuàng)建,而創(chuàng)建的磁盤鏡像在客戶端設備上的安裝和配置主要關于流程圖 5A、5B和5C來說明。圖6A和6B顯示了第二實例的其他方面。圖7A和7B顯示了用于第一 和第二實例的示意性數(shù)據(jù)結構。
[0033] 第三實例:根據(jù)第三實例,一個或者多個應用和/或驅動被直接安裝在具有多種 硬件平臺中任一種的客戶端設備上。主要關于流程圖10、11和12A-12C顯示和說明第三實 例。圖12A提供了發(fā)起應用和/或驅動的部署過程的一般流程圖,而圖10和12B更具體地 涉及驅動的部署,圖11和12C更具體地涉及應用的部署。每個設備提取包括用于在設備上 部署新的或者更新的驅動或應用的信息的部署配置文件。設備確定設備上是否有足夠的存 儲空間可用。然后設備從部署配置文件中提取安裝變量,并處理應用和/或驅動的安裝或 者升級。
[0034] 第四實例:最后,根據(jù)第四實例,可以在具有多種硬件平臺中任一種的客戶端設備 上更新一個或者多個應用和/或驅動。主要關于流程圖14A和14B顯示和說明第四實例。 每個設備可以定位設備上或者儲存庫服務器上的自動更新文件夾,從文件夾提取部署配置 文件,并根據(jù)部署配置文件自動地更新或者安裝驅動或者應用。
[0035] 雖然第一、第二、第三和第四實例如上所示通常是關于各自的流程圖來說明的,但 是實例不排除關于那些流程來說明。每個實例的不同步驟、操作、組件或者特征可以在如上 所示之外的流程圖中說明,一個實例的不同步驟、操作、組件或者特征可以有利地用于不同 實例的上下文中。通過實例,圖16A和16B顯示了結合第三和/或第四實例的教導的示意 性過程。
[0036] 本公開還包括顯示實現(xiàn)方法的常用系統(tǒng)單元(參見圖1和2)、用于不同實例的 數(shù)據(jù)結構(參見圖7A、7B、13A、13B和15)、和用于不同實例的實現(xiàn)的組件(參見8A、8B和 9A-9I)的附圖。
[0037] 附錄:除了附圖和伴隨的詳細說明,本公開還包括五個附錄,其講一步詳細列出了 本發(fā)明的不同方面。附錄A包括設備驅動配置文件和部署配置文件的示意性模式;附錄B 包括示意性設備驅動配置文件和部署配置文件;附錄C包括示意性產品需求規(guī)范;附錄D 包括視窗嵌入標準7版本2的示意性需求規(guī)范;以及附錄E包括用于根據(jù)硬件平臺處理驅 動存儲和智能第三方驅動安裝的驅動管理應用(例如,命名為"Drvmgmt.exe"的應用)的 示意性詳細設計規(guī)范。
[0038] 整體系統(tǒng)
[0039] 在一個方面,磁盤鏡像的創(chuàng)建包括驅動和應用和配置用于在多個硬件平臺中任一 個上部署,在特定目標硬件平臺上部署磁盤鏡像,使用設備驅動配置文件和部署配置文件 部署應用或者驅動,通常都可以通過如圖1所示的企業(yè)系統(tǒng)來實現(xiàn)。
[0040] 圖1根據(jù)本技術主題的不同方面顯示了將應用、驅動和/或磁盤鏡像(例如,包括 應用和/或驅動的磁盤鏡像)部署到運行于不同硬件平臺的多個客戶端設備上的系統(tǒng)100 的示例。系統(tǒng)100可以包括通過公用網(wǎng)118或者公司網(wǎng)絡114與服務器計算設備112 (服 務器)通信的一個或者多個客戶端設備1〇2(例如,102a、102b、102c、102d、102e)。在一些 方面,服務器112被配置為允許遠程會話(例如,遠程桌面會話),其中用戶可以通過從客戶 端設備102登錄到服務器112訪問服務器112上的應用和文件。這個連接可以使用一些已 知的技術中的任一種來建立,例如基于視窗的服務器上的遠程桌面協(xié)議(RDP)。在一些方 面,客戶端設備102可以使用文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、超文本傳輸協(xié) 議安全(HTTPS)、或者其它合適的協(xié)議與服務器112通信。
[0041] 通過實例而非限制,客戶端設備102可以表示計算機、移動電話、膝上型電腦、精 簡客戶端設備、個人數(shù)字助理(PDA)、便攜計算設備、或者具有處理器的合適設備。在一個示 例中,客戶端設備102是智能電話(例如,蘋果電話、安卓電話、黑莓等等)。在某些配置中, 客戶端設備102可以表示收銀設備、音頻播放器、游戲控制臺、照像機、可攜式攝像機、音頻 設備、視頻設備、多媒體設備、或者能夠支持到遠程服務器的連接的設備。在一個示例中,客 戶端設備102可以是移動電話。在另一個示例中,客戶端設備102可以是固定的。根據(jù)本 公開的一個方面,客戶端設備102可以是具有至少一個處理器和存儲器的設備,其中客戶 端102的總體存儲容量應當小于服務器112的總體存儲容量。在一個示例中,客戶端設備 102沒有硬盤。在一個方面,客戶端設備102可以包括閃存來替代硬盤。在一個方面,客戶 端設備可以是一個或者多個服務器。在一個方面,客戶端設備可以包括一個或者多個客戶 端設備。
[0042] 在一個方面,客戶端設備具有由硬件和構成為客戶端設備的一部分的其它組件確 定的相關硬件平臺??蛻舳嗽O備的硬件平臺可以根據(jù)形成為客戶端設備的一部分或者安裝 于其上的處理器、存儲器、和/或接口設備(例如,顯示器設備、圖形或音頻卡、鍵盤或其它 輸入設備、有線或無線網(wǎng)絡接口和卡、讀卡器、USB端口、條形碼掃描器等等)的特定模式來 確定。硬件平臺通常被命名(例如,命名為"SATURN"的平臺),并與一個或者多個與該平臺 相關的所有客戶端設備都具有的硬件組件相關。在一個示例中,具有命名為"SATURN"的硬 件平臺的所有客戶端設備可以具有Realtek高清音頻卡和AM Radeon HD6310圖形接口卡, 例如。硬件平臺可以組織為類,以使得共同具有一個或者多個組件的多個硬件平臺可以劃 分為一個類。例如,命名為"R"的硬件平臺類可以包括命名為"MERCURY"和"PLUTO"的平 臺,以使得具有命名為"MERCURY"或"PLUTO"的硬件平臺的所有客戶端設備形成為類"R" 的一部分。在一些實例中,每個客戶端設備存儲客戶端設備硬件平臺和/或硬件平臺類的 標識符。然而在其它實例中,客戶端設備硬件平臺和/或類是通過執(zhí)行清點安裝于客戶端 上的硬件組件來確定的,并根據(jù)清點結果確定客戶端設備的硬件平臺和類。
[0043] 在優(yōu)選方面,客戶端設備102是設計用于特定目的(而非通用目的)的特定目的 客戶端設備。在優(yōu)選方面,客戶端設備102不是傳統(tǒng)個人計算機(PC)。在一個方面,特定 目的客戶端設備可以設計為執(zhí)行一個或者較少預定義的、專用功能。例如,特定目的客戶端 設備可以被設計用于執(zhí)行少于10個專門功能、少于5個專門功能、少于3個專門功能、或者 1個專門功能。例如特定目的客戶端設備可以是設計為位于商場的收銀機的客戶端設備、 設計為執(zhí)行特定測試或測量的客戶端設備、設計為執(zhí)行用于診斷和/或病人治療的特定醫(yī) 療應用的客戶端設備等等。特定目的客戶端設備優(yōu)選地包括寫入過濾器,其在正常運行期 間啟用以使得如果用戶(例如,收音員,非管理者)改變客戶端設備的嵌入式鏡像的任何配 置,這個改變不會跨重啟持續(xù)。
[0044] 在一個方面,服務器112可以表示計算機、膝上型電腦、計算設備、數(shù)據(jù)庫、室內服 務器、儲存庫服務器、配置應用服務器、域名系統(tǒng)(DNS)服務器、動態(tài)主機配置協(xié)議(HDCP) 服務器、虛擬機(例如,VMware?虛擬機)、桌面會話(例如,微軟終端服務器)、出版的應 用(例如,微軟終端服務器)或者具有處理器的適當?shù)脑O備。在優(yōu)選方面,服務器112是固 定的。在另一個方面,服務器112可以是移動的。仍然在另一個方面,服務器112可以是嵌 入式的。在某些配置中,服務器112可以是可以表示客戶端設備的任何設備。在優(yōu)選方面, 服務器112不是客戶端。在一個方面,服務器112可以包括一個或者多個服務器、或者一個 或者多個服務器的功能。
[0045] 在一個示例中,當?shù)谝辉O備沒有直接連接到第二設備時,第一設備是第二設備的 遠程。在一個示例中,第一遠程設備可以通過通信網(wǎng)絡,例如本地局域網(wǎng)(LAN)、廣域網(wǎng) (WAN)、和/或用于遠程操作的其它網(wǎng)絡連接到第二設備。
[0046] 當客戶端設備102和服務器112相互之間是遠程時,客戶端設備102可以通過公 用網(wǎng)118和/或公司網(wǎng)絡114連接到服務器112,例如通過調制解調器連接、包括以太網(wǎng)的 LAN連接、或者包括DSL、電纜、T1、T3、光纖、Wi-Fi的寬帶WAN連接、或者包括GSM、GPRS、3G、 WiMax的移動網(wǎng)連接或其它遠程網(wǎng)絡連接。公用網(wǎng)118或聯(lián)合網(wǎng)114可以是LAN網(wǎng)絡、WAN 網(wǎng)絡、無線網(wǎng)、互聯(lián)網(wǎng)、內聯(lián)網(wǎng)或者其它遠程網(wǎng)絡。網(wǎng)絡上的遠程設備(例如,客戶端設備、 服務器)可以通過對應的網(wǎng)絡地址,例如但不局限于互聯(lián)網(wǎng)協(xié)議(IP)地址、互聯(lián)網(wǎng)名、視窗 互聯(lián)網(wǎng)名業(yè)務(WINS)名、域名或者其它系統(tǒng)名來尋址。這些說明作為一個設備如何與另一 個設備遠程的一些示例。但是技術主題不局限于這些示例。
[0047] 在本公開的一個方面,"客戶端設備"可以有時指客戶端、目標客戶端設備、目標設 備、或者反之亦然。類似的,"服務器"可以有時指服務器設備或反之亦然。
[0048] 在一個方面,術語"本地"和"遠程"是相對術語,客戶端設備可以被稱為本地客戶 端設備或者遠程客戶端設備,根據(jù)客戶端設備分必是從客戶端側說明的還是從服務器側說 明的。在一個方面,位于客戶端側的設備(例如,直接連接到客戶端設備或者使用有線或無 線連接到另一個(例如,使用具有短距離例如35英尺的藍牙或者紅外)的設備)可以相對 于客戶端設備被稱為本地設備,以及相對于服務器被稱為遠程設備。類似的,位于服務器側 的設備(例如,直接連接到服務器或者使用有線或無線連接到另一個(例如,使用具有短距 離例如35英尺的藍牙或者紅外)的設備)可以相對于服務器被稱為本地設備,以及相對于 客戶端設備被稱為遠程設備。
[0049] 在一些方面,服務器112可以包括配置儲存庫服務器104。雖然服務器112顯示為 只包括一個服務器104,但是一個或者多個其他服務器,例如DHCP服務器、DNS服務器、應用 服務器等等可以位于服務器112內部或外部。在一些方面,這些服務器中的一個或多個可 以合并起來作為單個服務器。在一些方面,服務器112還可以被稱為室內服務器,因為服務 器112可以主要通過私有網(wǎng)絡例如公司網(wǎng)絡114與客戶端102a、102b、102c和102d通信。
[0050] 在一些方面,服務器112的至少一部分可以從公共網(wǎng)118訪問。例如,如圖1所示, 配置儲存庫服務器104可從公共網(wǎng)118訪問。因此,客戶端設備102e可以通過公共網(wǎng)118 與服務器112 (例如,配置儲存庫服務器104)通信。
[0051] 在其它方面,連接到公共網(wǎng)118的一個或者多個公共服務器(未顯示)可以通過 公共網(wǎng)118使客戶端設備102e,和/或通過公共網(wǎng)118、服務器112、和公司網(wǎng)絡114使客戶 端設備102a、102b、102c和102d可訪問。一個或者多個公共服務器可以執(zhí)行基本上類似于 在此所述的由服務器112和/或配置儲存器服務器104執(zhí)行的任意功能的功能。
[0052] 根據(jù)本技術主題的不同方面,客戶端102可以每個運行于基于視窗的嵌入式鏡 像,例如視窗嵌入式操作系統(tǒng)家族(例如,Windows Embedded Compact、Windows Embedded Standard (WES) > Windows Embedded Enterprise、Windows Embedded P0SReady> Windows Embedded NAVReady、Windows Embedded Server等等)或者其它合適的嵌入式鏡像中任意 一種。
[0053] 通常,嵌入式鏡像可以包括寫入過濾器,其阻止一個或者多個改變跨運行嵌入式 鏡像的客戶端設備的重啟持續(xù)應用到嵌入式鏡像。例如,嵌入式鏡像可以包括寫入過濾器 以允許應用于啟用寫入過濾器的嵌入式鏡像的一個或者多個改變,當客戶端設備關機時丟 棄。在一些實施方式中,術語"關機"可以指關閉機器。在另一個方面,可以包括從機器退 出。在一些實施方式中,如在此所使用的,術語"重啟"或者"重新啟動"可以包括用戶退出 并重新登錄進客戶端設備的情況,或者客戶端設備關機然后開機的情況。在一個示例中,如 果用戶將新的墻紙應用于運行于特定客戶端設備的嵌入式鏡像,在特定客戶端設備重啟之 后新的墻紙不會保留在嵌入式鏡像上。
[0054] 可以啟用寫入過濾器以保證用戶不會對客戶端設備的嵌入式鏡像作出任何永久 改變(例如,跨重啟持續(xù)的改變)。啟用寫入過濾器是有利的,因為其允許管理者保持特定 系統(tǒng)中客戶端設備的所有嵌入式鏡像的統(tǒng)一配置。如果用戶對客戶端設備中的一個的嵌入 式鏡像做出改變,那么只有那個特定客戶端設備需要重啟以將那個嵌入式鏡像重置回與其 它客戶端設備的其它嵌入式鏡像一致的初始配置。啟用寫入過濾器的另一個好處是可以阻 止有害改變永久地(例如,跨重啟應用)應用于客戶端設備的嵌入式鏡像。例如,如果客戶 端設備的用戶偶然地下載了病毒導致了對客戶端設備的嵌入式鏡像的有害改變,那么只有 那個客戶端設備需要重啟,以將嵌入式鏡像重置回未被病毒損害的初始配置。
[0055] 對客戶端設備做出期望的改變,例如安裝或更新應用或驅動,通常要求停用寫入 過濾器并跟隨客戶端設備的重啟。重啟之后,停用(或者不啟用)寫入過濾器,可以對客戶 端設備的配置進行改變。為了恢復寫入過濾器保護,啟用寫入過濾器然后重啟客戶端設備。
[0056] -個或者多個文件、文件夾、或者客戶端設備上的其它存儲位置可以免除寫入過 濾器限制或者寫入過濾器功能(即,可以通過寫入過濾器),以使得存儲于這些位置的數(shù)據(jù) 跨客戶端設備的重啟而保持,即使在客戶端設備上啟用了寫入過濾器。這個文件夾或者文 件在此可以作為可以通過寫入過濾器的位置??梢允褂妹獬龑懭脒^濾器限制或功能的文件 和文件夾,例如,以存儲應當在設備的下一次重啟時在客戶端設備上安裝的安裝文件或文 件包。在一個示例中,安裝文件或文件包存儲于免除存儲位置,停用寫入過濾器,客戶端設 備重啟,以使得一旦客戶端設備啟動了,客戶端設備可以在停用寫入過濾器時安裝文件或 者文件包。
[0057] 根據(jù)一些方法,為了應用于嵌入式鏡像,執(zhí)行跨重啟持續(xù)的改變、人工安裝軟件驅 動、應用、和/或嵌入式鏡像的固件更新以創(chuàng)建具有期望的改變的客戶化嵌入式鏡像??蛻?化可以在單個客戶端設備上執(zhí)行,客戶化客戶端設備可以用于創(chuàng)建磁盤鏡像。磁盤鏡像然 后被提取到服務器(例如,服務器112)上,然后將完整客戶化嵌入式鏡像部署到所有要求 的客戶端設備(例如,客戶端設備102)。因此,嵌入式鏡像的客戶化可以包括創(chuàng)建客戶化嵌 入式鏡像、從源客戶端設備提取客戶化嵌入式鏡像到服務器112、將完整客戶化嵌入式鏡像 從服務器112傳輸?shù)娇蛻舳嗽O備102和/或在客戶端設備102上安裝完整客戶化嵌入式鏡 像。然而,嵌入式鏡像可能很大。另外,嵌入式鏡像可能配置為不可用于特定客戶端設備的 硬件平臺或者硬件配置。因此,傳輸和安裝鏡像可能是不實際的,尤其是客戶端設備具有不 同的硬件平臺或配置時。
[0058] 例如,在包括超過100個收銀機作為客戶端設備的大收銀系統(tǒng)中,如果管理者希 望在每個收銀機的每個嵌入式鏡像上安裝新的收銀程序,那么管理者需要在一個源客戶端 設備上創(chuàng)建具有新的收銀程序的客戶化嵌入式鏡像,將客戶化嵌入式鏡像提取到服務器, 然后將客戶化嵌入式鏡像從服務器傳輸?shù)矫總€收銀機用于安裝。然而,如果一些收銀機包 括不同于源客戶端設備和其嵌入式鏡像的硬件平臺或者組件(例如,具有不同芯片組、不 同LAN接口卡、不同顯示器或圖形卡的設備),需要創(chuàng)建不同的嵌入式鏡像并將其傳輸至具 有不同硬件的客戶端設備。如果管理者期望頻繁作出改變,那么每次作出改變,每個硬件平 臺或配置的新的客戶化嵌入式鏡像就需要傳輸至每個收銀機。
[0059] 根據(jù)本技術主題的不同方面,創(chuàng)建配置用于在運行于不同硬件平臺中任一種的客 戶端設備上安裝的嵌入式鏡像。嵌入式鏡像包括每個硬件平臺所需要的驅動,被配置為在 目標客戶端設備上自動安裝目標設備的應急那平臺所需要的那些驅動,并刪除目標設備的 硬件不需要的驅動。
[0060] 根據(jù)本技術主題的其它方面,在客戶端設備102的啟動開始后,改變將自動應用 于客戶端設備102的嵌入式鏡像,而無需客戶端設備102的用戶的干預,由此作出對用戶看 來跨客戶端設備102重啟永久持續(xù)的改變。因此,本技術主題的方面用對客戶端設備102 的改變排除了整個嵌入式鏡像的重新安裝,下載和/或安裝大的鏡像到客戶端設備102的 問題可以避免。根據(jù)某些方面,配置文件(例如,設備驅動配置文件或者部署配置文件)可 以用于將這個改變應用于嵌入式鏡像。
[0061] 系統(tǒng)結構圖
[0062] 圖2是根據(jù)本技術主題的不同方面顯示系統(tǒng)示例的概念結構圖。系統(tǒng)201可以 是,例如客戶端設備(例如,客戶端設備102)或者服務器(例如,服務器112、104、106、108、 110)。系統(tǒng)201可以包括處理系統(tǒng)202。處理系統(tǒng)202能夠通過總線204或者其它結構或 設備與接收器206和發(fā)送器209通信。應當理解除了總線之外的通信裝置可以用于公開的 配置。處理系統(tǒng)202能夠產生將要提供給發(fā)送器209用于通信的音頻、視頻、多媒體、和/ 或其它類型的數(shù)據(jù)。另外,音頻、視頻、多媒體、和/或其它類型的數(shù)據(jù)可以在接收器206接 收,并由處理系統(tǒng)202處理。
[0063] 處理系統(tǒng)202可以包括執(zhí)行指令的處理器,可以進一步包括存儲器或者機器可讀 介質219,例如非永久性或者永久性存儲器,用于存儲軟件程序的數(shù)據(jù)和/或指令。指令可 以存儲在機器可讀介質210和/或219中,可以由處理系統(tǒng)202執(zhí)行來控制和管理到不同 網(wǎng)絡的接入,以及提供其它通信和處理功能。指令還可以包括由處理系統(tǒng)202為不同用戶 接口設備執(zhí)行的指令,例如顯示器212和鍵盤214。處理系統(tǒng)202可以包括輸入端口 222和 輸出端口 224。輸入端口 222和輸出端口 224中的每一個可以包括一個或者多個端口。輸 入端口 222和輸出端口 224可以是相同端口(例如,雙向端口)或者是不同端口。
[0064] 處理系統(tǒng)202可以使用軟件、硬件或者其結合來實現(xiàn)。作為示例,處理系統(tǒng)202可 以是用一個或者多個處理器實現(xiàn)的。處理器可以是通用目的微處理器、微控制器、數(shù)字信號 處理器(DSP)、專用集成電路(ASIC)、場可編程門陣列(FPGA)、可編程邏輯設備(PLD)、控制 器、狀態(tài)機、門控邏輯、分離的硬件組件、或者可以執(zhí)行計算或者其它信息操作的任意其它 合適的設備。
[0065] 存儲器或者機器可讀介質可以是一個或者多個機器可讀介質。軟件應當被寬泛地 解釋為指令、數(shù)據(jù)、或者其任意組合,無論是否被稱為軟件、固件、中間件、微代碼、硬件描述 語言等等。指令可以包括代碼(例如,以源代碼形式、二進制代碼形式、可執(zhí)行代碼形式、或 者任意其它合適的代碼形式)。
[0066] 機器可讀介質(例如,219)可以包括集成到處理系統(tǒng)中的存儲器,例如可以是 ASIC中。機器可讀介質(例如,210)還可以包括處理系統(tǒng)外部的存儲器,例如隨機訪問存 儲器(RAM)、閃存、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦寫PROM (EPROM)、寄存 器、硬盤、可插入盤、CD-R0M、DVD、或者任意其它合適的存儲設備。本領域技術人員將理解如 何最好地實現(xiàn)處理系統(tǒng)202的所述功能。根據(jù)本公開的一個方面,機器可讀介質是編碼或 者存儲有指令的計算機可讀介質,并且是計算組件,其限定了指令和允許實現(xiàn)指令功能的 系統(tǒng)其余部分之間的結構和功能的相互關系。在一個方面,機器可讀介質是永久機器可讀 介質、機器可讀存儲介質、或者永久機器可讀存儲介質。在一個方面,計算機可讀介質是永 久計算機可讀介質、計算機可讀存儲介質、或者永久計算機可讀存儲介質。指令可以是可執(zhí) 行的,例如由客戶端設備或者服務器或者由客戶端設備或者服務器的處理系統(tǒng)。指令可以 是,例如包括代碼的計算機程序。
[0067] 接口 216可以是任意類型的接口,可以位于圖2所示的任意組件之間。接口 216 還可以是例如到外部世界(例如,互聯(lián)網(wǎng)接口)的接口。收發(fā)器塊207可以表示一個或者 多個收發(fā)器,每個收發(fā)器可以包括接收器206和發(fā)送器209。處理系統(tǒng)202中實現(xiàn)的功能可 以在接收器206的一部分、發(fā)送器209的一部分、機器可讀介質210的一部分、顯示器212 的一部分、鍵盤214的一部分、或者接口 216的一部分中實現(xiàn),反之亦然。在一個方面,系統(tǒng) 201可以只包括圖2所示組件中的一些或者多個圖2所示的一個或者多個組件。
[0068] 為多個硬件平臺創(chuàng)律和部署鏡像的方法
[0069] 用于將應用和/或驅動部署到大量目標客戶端設備上的一種方法包括創(chuàng)建磁盤 鏡像,其包括鏡像建立的客戶端設備上的所有應用和驅動,并將磁盤鏡像復制到所有其它 目標客戶端設備上,以在目標客戶端設備上部署應用和/或驅動。然而這個方法被證實在 目標客戶端設備具有不同硬件平臺,因此要求不同的磁盤鏡像驅動組來正確地安裝到每個 客戶端設備各自的硬件平臺上,的情況下是有局限性的。
[0070] 為了解決這些局限,開發(fā)了一種方法來創(chuàng)建用于將應用和/或驅動部署到多個具 有不同硬件平臺的目標客戶端設備上的磁盤鏡像。圖3A是示意性地顯示創(chuàng)建用于將磁盤 鏡像部署到具有不同硬件平臺的目標客戶端設備上的操作流程圖。圖3A的示例是關于支 持具有Windows Embedded Standard(WES)7精簡客戶端鏡像的多個硬件平臺。然而,圖3A 的交到可以更普遍地應用于運行其它操作系統(tǒng)的客戶端設備。支持具有WES7精簡客戶端 鏡像的多個硬件平臺的方法是通過安裝客戶端設備的不同硬件平臺所需要的所有第三方 驅動來創(chuàng)建通用主鏡像,如下面標準鏡像創(chuàng)建過程中所述的。
[0071] 根據(jù)圖3A的流程圖,過程開始于操作301,創(chuàng)建通用配置響應文件(也被稱之為通 用配置文件或者"common, xml")。通用配置響應文件是可擴展標記語言(XML)配置文件。 通用配置響應文件是使用鏡像配置編輯器(ICE)來創(chuàng)建的。通用配置響應文件包括磁盤鏡 像中應當包括的所有組件(例如,微軟組件)上的信息,并且可以特別地包括磁盤鏡像的視 窗嵌入式特征組。通常,通用配置響應文件標識磁盤鏡像的創(chuàng)建中應當包括的大部分或者 所有組件(例如微軟組件,在基于視窗的嵌入式操作系統(tǒng)的情況下),作為磁盤鏡像的視窗 嵌入式特征組的一部分。
[0072] 在操作303,將通用配置響應文件部署到目標硬件上,例如通過使用鏡像建立向 導。通常,將通用配置響應文件發(fā)送給被選擇用于創(chuàng)建磁盤鏡像的客戶端設備,在此將其稱 之為鏡像建立設備。然而在一些示例中,通用配置響應文件可以配置到其它目標設備或硬 件上。
[0073] 在操作305,對于磁盤鏡像所支持的多個硬件平臺(例如,從1到η的硬件平臺) 中的每一個,磁盤鏡像創(chuàng)建過程通過識別與每個平臺相關的驅動和驅動應用來開始。一旦 識別了驅動和驅動應用,它們可以被復制到和/或安裝到鏡像建立設備上,以包括創(chuàng)建的 磁盤鏡像上的每個硬件平臺的所有驅動和驅動應用。驅動和驅動應用可以是由第三方實體 創(chuàng)建的驅動和應用,例如設備和每個硬件平臺的其它硬件組件的制造商,通過硬件組件的 驅動和應用的開發(fā)者、或者其它實體。對于磁盤鏡像將支持的每個硬件平臺,操作305還包 括從鏡像建立設備提取磁盤鏡像并將磁盤鏡像推送到下一個支持的硬件平臺。
[0074] 磁盤鏡像的創(chuàng)建繼續(xù)到操作307,將應用安裝到鏡像建立設備,例如第三方實體應 用(例如,citrix "ICA"應用、桌面虛擬化應用例如"VMView"、遠程支持軟件或虛擬網(wǎng)絡計 算"VNC"軟件)。在操作309,將其它私有應用安裝到鏡像建立設備上,例如初始設備制造 商(OEM)應用(例如,HAgent、Client Information、Winlog、Ramdisk)。OEM 應用可以是由 目標客戶端設備制造商、目標客戶端設備零售商、加載驅動計費的實體、應用、和客戶端設 備上的軟件、或者提高和支持目標客戶端設備中包括的任意其它實體提供的應用。應用可 以另外地或者可選地包括一個或者多個腳本,例如用于在磁盤鏡像部署于其上的每個目標 客戶端設備上實現(xiàn)或者應用客戶化的腳本。
[0075] -旦磁盤鏡像支持的每個硬件平臺的驅動和磁盤鏡像中包括的應用已經安裝或 者復制到鏡像建立設備上,磁盤鏡像創(chuàng)建過程完成。因此在操作311磁盤鏡像準備部署和 從鏡像建立設備提取。磁盤鏡像的準備可以由應用或者工具,在此可以稱之為"Syspr印" 來完成。準備可以包括識別存儲在鏡像建立設備上的應當包括在磁盤鏡像中的文件和文件 夾,以及用識別的文件和文件夾創(chuàng)建磁盤鏡像。磁盤鏡像可以使用任意遠程管理軟件機制 部署到目標客戶端設備上。準備還可以包括存檔磁盤鏡像。
[0076] 在準備和提取鏡像(操作311)之后,鏡像可以部署到每個目標客戶端設備上。一 旦將鏡像部署到或者可以從目標客戶端設備訪問,客戶化可以應用到目標客戶端設備(操 作315),例如用戶特定策略、磁盤重整、飛行主題等的私有客戶化??蛻艋梢愿鶕?jù)磁盤鏡 像中包括的信息(例如,根據(jù)作為磁盤鏡像的一部分加載的一個或者多個腳本),或者根據(jù) 來自其它源的信息來執(zhí)行。客戶化之后,在操作317鏡像準備好了使用。
[0077] 圖3B顯示了創(chuàng)建用于將磁盤鏡像部署到具有不同硬件平臺的目標客戶端設備上 的第二示意性過程。圖3B的流程圖包括基本上類似于圖3A中相同標號操作的操作。
[0078] 然而在圖3B的示意圖中,圖3A的操作305替換為新操作306。在操作306,對于 磁盤鏡像所支持的多個硬件平臺(例如,從1到η的硬件平臺)中的每一個,磁盤鏡像創(chuàng)建 過程通過識別與每個平臺相關的驅動和驅動應用來開始。一旦識別了驅動和驅動應用,它 們可以被復制到和/或輸入到鏡像建立設備上,以包括創(chuàng)建的磁盤鏡像上的每個硬件平臺 的所有驅動和驅動應用。驅動和驅動應用可以被復制到或輸入到專用文件夾、存儲位置、或 者鏡像建立設備的存儲設備,其可以被稱為驅動存儲器。驅動和驅動應用可以是由第三方 實體創(chuàng)建的驅動和應用,例如設備和每個硬件平臺的其它硬件組件的制造商,通過硬件組 件的驅動和應用的開發(fā)者、或者其它實體。一旦輸入第三方驅動和驅動應用到每個硬件平 臺的鏡像建立設備,過程繼續(xù)到操作307。
[0079] 圖3Β的流程圖進一步包括在圖3Α的操作311和315之間的附加操作313。在操 作313,鏡像被推送到或者提取到具有相關的硬件平臺的每個目標客戶端設備上(從1到 m的目標設備)??梢栽诿總€目標客戶端設備從鏡像建立設備(其可以是服務器)接收鏡 像,例如一旦確定鏡像存儲在鏡像建立設備中。鏡像可以可選地復制到每個目標客戶端設 備上,或者否則傳輸?shù)侥繕丝蛻舳嗽O備上(例如,通過到服務器112的網(wǎng)絡連接,通過連接 到客戶端設備的USB閃存驅動等等)。一旦將鏡像復制到或者可以從目標客戶端設備訪問, 磁盤鏡像可以配置為用于目標客戶端設備的特定硬件平臺,例如,通過安裝客戶端設備的 硬件組件的驅動。客戶化可以應用到目標客戶端設備(操作315),例如用戶特定策略、磁盤 重整、飛行主題等的私有客戶化??蛻艋螅诓僮?17鏡像準備好了使用。
[0080] 關于圖3A和3B所述的安裝所有支持的平臺的所有第三方設備驅動可以導致,在 一個示例中,創(chuàng)建嵌入式標準7精簡客戶端主通用鏡像。然而通過包括所有支持的平臺的 驅動,圖3A所述的方法可能對固態(tài)驅動(SSD)閃存或者目標客戶端設備上的其他存儲驅動 的存儲空間產生負面影響,還可能產生與驅動重疊和驅動沖突相關的問題,因此負面影響 目標客戶端設備的鏡像性能和負面影響鏡像建立處理時間。為了克服這些問題中的一些, 下面關于圖4-6說明創(chuàng)建用于在多個硬件平臺上部署的磁盤鏡像的改進方法。改進方法根 據(jù)使用驅動存儲的硬件平臺提供智能第三方設備驅動安裝。
[0081] 圖3A和3B所示的方法通過開發(fā)客戶化鏡像支持第三方驅動和/或應用,其中在 標準建立之上所有驅動和應用都被安裝在精簡客戶端上,從設備提取精簡客戶端鏡像,并 將鏡像推送到所有其它目標精簡客戶端設備。然而,該方法具有它們不能有效地用于維護, 例如為了更新精簡客戶端設備上的應用或者驅動的缺點。另外,該方法不能夠用于客戶化 客戶端設備或者在已經處于使用中的精簡客戶端上安裝設備驅動。當在客戶的場所部署精 簡客戶端時,如果客戶需要增加客戶應用或者設備驅動,客戶化是一個冗長的過程。
[0082] 客戶化可以以三種示例方式來完成。在第一種方法中,個人可以在每個精簡客戶 端上手工安裝應用或者設備驅動。如果客戶具有好幾百個精簡客戶端,這第一個方法表示 非常冗長的過程。在第二種方法中,客戶化可以安裝在一個精簡客戶端上,從那個設備取下 固件并部署剩余的其它設備。然而,這第二種方法非常消耗時間,因為固件部署可能隨著鏡 像增長得越來越大(通常鏡像大小可以從2GB到4GB甚至更多)而占用大量時間。另外, 在更新應用或者驅動的情況下,第二種方法要求重復具有最新的應用或驅動版本的完整鏡 像創(chuàng)建和安裝過程。第三種方法提供由現(xiàn)場工程師準備的客戶固件,其中客戶化固件包括 預安裝的客戶應用和驅動。將客戶固件發(fā)布給客戶,和工廠,其中精簡客戶端編程具有在制 造精簡客戶端時特定客戶裝載量的客戶固件。這第三種方法要求額外努力,因為不同的人 象現(xiàn)場工程師和質量工程師必須包括在準備和驗證固件的過程中。另外,如果應用或者驅 動的任意新版本在以后需要部署,就需要重復完整過程。三種方法的每一種中,如果有任意 更新的組件版本可用,例如固件的標準組件或者私有特定組件,都需要私有化管理軟件或 者更新設備上組件的人工處理。
[0083] 為了克服上述方法的這些問題和限制,引入了三種新的方法。根據(jù)新方法中的兩 種,客戶創(chuàng)建一個具有關于客戶希望在該精簡客戶端上部署的不同應用和設備驅動的適當 信息的配置文件(例如,"DeviceDeploymentConfig. xml"文件(其可以被稱為部署配置文件 或者設備部署配置文件)等等),配置文件標識安裝應用和設備的適當?shù)奈募浔A粼?配置儲存庫例如儲存庫服務器(例如,服務器112,或者配置儲存庫服務器104)中。當精簡 客戶端設備啟動時,設備自動地提取設備部署配置文件,并在精簡客戶端設備上執(zhí)行部署。
[0084] 根據(jù)新方法中的第三種,客戶可以簡單地將存儲在配置存儲庫中的組件或者應用 文件包更新至私有提供商發(fā)布的組件或者應用最新的版本。精簡客戶端設備從配置儲存庫 自動地提取或者獲取更新的組件或者應用文件包,并在設備啟動過程期間處理更新的組件 或應用。
[0085] 三種新方法克服了其它方法帶來的各種限制。在一個方面,新方法可以克服以下 限制。第一,在其它方法中,如果對驅動或者應用的任意更新可用,那么驅動、應用或者其它 組件的升級在一個客戶端設備上執(zhí)行,提取客戶端設備的鏡像,以及再次將鏡像部署到所 有其它客戶端設備上。提取鏡像或者鏡像設備占用大量時間,時間依賴于閃存或者鏡像的 大小。在客戶端設備或者位于客戶環(huán)境中的單元上部署鏡像將依賴于(或者由其執(zhí)行)私 有設備管理者或者簡單的USB鏡像工具。私有設備管理者是管理軟件,其可以用于遠程部 署大量鏡像工作。精簡客戶端上的組件更新高度依賴于設備管理軟件來調度增加到設備上 的更新。如果客戶不使用設備管理軟件,那么客戶可能需要更新完整鏡像,其使用一些其它 鏡像工具象USB鏡像工具包括最新的組件。簡單USB鏡像工具可以直接使用,但是它的使 用將是耗時的,如果需要更新鏡像的客戶端設備的數(shù)量很大。新方法是有幫助的,因為在基 于精簡客戶端的WES7中并沒有一直支持自動更新組件。作為結果,有時僅使用遠程管理軟 件來更新基于精簡客戶端的WES7上的組件。
[0086] 在一個方面,新方法中的一種通過將設備驅動預加載到鏡像的驅動存儲儲存庫, 例如WES7精簡客戶端主鏡像的驅動存儲儲存庫中使得主鏡像,例如視窗精簡客戶端主鏡 像既便攜又智能。當主鏡像被部署到目標或者目的客戶端設備上時,新方法通過從驅動存 儲器安裝所有需要的設備驅動來適當?shù)嘏渲媚繕嗽O備鏡像,并刪除剩余的其它驅動(即包 括在主鏡像中但沒有安裝在目標客戶端設備上的驅動),以使得更有效和更高效地使用目 標客戶端設備上的存儲器空間(例如,閃存空間)。因為只安裝目標客戶端設備需要的驅 動,所以目標精簡客戶端設備上的驅動沖突的發(fā)生和性能問題減少了。
[0087] 新方法可以進一步使用基于可擴展標記語言(XML)的部署支持第三方應用和用 于管理客戶端上的設備驅動,例如以部署WES7精簡客戶端運行鏡像?;赬ML的部署支持 可以減少對客戶鏡像的需求,其是之前當客戶希望在基于精簡客戶端的WES7的精簡客戶 端鏡像上集成任何第三方設備驅動或應用時所需要的?;赬ML的部署進一步減少了準備 客戶鏡像和執(zhí)行客戶鏡像維護的支持工程師或者現(xiàn)場工程師負擔?;赬ML的部署因此有 助于最小化精簡客戶端帶來的管理開銷。
[0088] 最后,新方法可以執(zhí)行精簡客戶端組件和應用的自動更新。自動更新最小化對 管理軟件沒有任何依賴的基于精簡客戶端的WES7所需的管理來管理基于精簡客戶端的 WES7。
[0089] 嵌入式鏡像創(chuàng)律和安裝
[0090] 為了解決上述問題,提出了創(chuàng)建用于客戶端設備(例如,精簡客戶端)部署的主鏡 像的改進的方法。方法創(chuàng)建主磁盤鏡像,也被稱為視窗精簡客戶端主鏡像,其通過將多種硬 件平臺所需的所有設備驅動預加載到磁盤鏡像的驅動存儲儲存庫而是便攜的和智能的。當 主鏡像部署到目標或者目的設備時,目標設備通過從驅動存儲安裝目標設備的硬件平臺需 要的設備驅動適當?shù)嘏渲迷O備鏡像。在部署期間執(zhí)行應用(例如,在此被稱為"drvmgmt. exe"的應用)以刪除目標客戶端設備上不需要的其它驅動。應用根據(jù)設備驅動配置文件 (例如,命名為"DriverConfig. xml"的文件,并規(guī)定哪個驅動應當安裝在每個硬件平臺上) 執(zhí)行其它驅動的刪除。應用還支持其它功能,例如驅動安裝、驅動計數(shù)、驅動刪除等等,以使 得應用可以用于所有的驅動部署功能。
[0091] 圖4A顯示了創(chuàng)建用于安裝到具有多種客戶端硬件平臺中任一種的目標客戶端設 備上的磁盤鏡像(或者主鏡像)示意性過程。一旦創(chuàng)建,磁盤鏡像被配置為自動在運行于 多種硬件平臺中任一種的目標設備上安裝應用和驅動。為此,創(chuàng)建的磁盤鏡像包括用于多 種硬件平臺中每一種的驅動和應用。
[0092] 磁盤鏡像創(chuàng)建過程可以由鏡像建立設備的鏡像建立模塊執(zhí)行,過程開始于鏡像建 立設備上的操作401。一般,鏡像建立設備是客戶端設備,例如客戶端設備102,其具有或者 運行鏡像建立模塊。然而,鏡像建立設備還可以是服務器,例如服務器112,或者具有存儲器 用于創(chuàng)建主磁盤鏡像的另一個合適的設備。
[0093] 在操作403,在鏡像建立設備上提取通用配置響應文件。通用配置響應文件包括關 于應當包括在磁盤鏡像中的所有組件(例如,微軟組件)的信息,可以特別地包括磁盤鏡像 的視窗嵌入特征組。通用配置響應文件基本上類似于上面關于圖3A的操作301和303所 述的內容。
[0094] 在操作405和407,將第三方應用和私有(或者初始設備制造商)應用安裝在鏡像 建立設備上。特別地,應用可以安裝在鏡像建立設備的存儲器上,例如機器可讀介質210例 如其中鏡像建立設備是如圖2所示的系統(tǒng)。安裝應用之后,在操作409先前存在的設備從 鏡像建立設備卸載。先前存在的設備是包括在鏡像建立設備上的驅動,以及之前例如作為 操作系統(tǒng)、應用(例如,在操作405和407安裝的應用)、硬件組件等等安裝的一部分安裝在 鏡像建立設備上。在建立設備運行WES7精簡客戶端的示例中,先前存在的驅動可以包括作 為操作系統(tǒng)安裝的一部分預安裝在設備上的微軟兼容的驅動。
[0095] 鏡像建立過程進行到操作411,其中將驅動輸入到鏡像建立設備的驅動存儲中。通 常,將任意目標客戶端設備的硬件平臺上安裝主磁盤鏡像所需的所有驅動都輸入到驅動存 儲中。在一個方面,操作411可以依賴于設備驅動配置文件,其存儲了驅動與每個目標客 戶端設備的硬件平臺的關聯(lián),來識別驅動并將其輸入以包括在驅動存儲中。與設備驅動配 置文件中標識的一個或者多個硬件平臺類別相關的驅動,以及與設備驅動配置文件中標識 的兩個或者多個硬件平臺相關的通用驅動都可以輸入到驅動存儲中。驅動存儲可以是,例 如鏡像建立設備的存儲器中的文件夾,其被用于存儲與驅動相關的建立信息文件(例如, ".inf" 文件)。
[0096] 一旦所有驅動輸入到驅動存儲中,磁盤鏡像在操作413創(chuàng)建。磁盤鏡像通常是根 據(jù)鏡像建立設備的存儲器的內容創(chuàng)建的,例如存儲在操作405和407安裝的應用和在操 作411輸入驅動存儲的驅動的鏡像建立設備的機器可讀介質。在操作413,鏡像可以準備 好用于部署,從鏡像建立設備提取出來用于以后傳輸或者部署到目標客戶端設備。提取的 磁盤鏡像可以存儲在服務器(例如,服務器112)中,例如用于以后部署到目標客戶端設備 102a-102e中的任一個。磁盤鏡像創(chuàng)建過程然后結束于操作415。圖4A顯示的所有操作可 以自動地執(zhí)行而無需人工干預。
[0097] 在一個方面,圖4A的示意性過程可以包括輸入設備驅動配置文件到鏡像建立設 備的額外操作。設備驅動配置文件可以例如在完成操作411之后輸入到鏡像建立設備的存 儲器中。設備驅動配置文件規(guī)定了驅動和硬件平臺之間的關聯(lián),尤其用于根據(jù)客戶端設備 的硬件平臺識別安裝在目標客戶端設備上的驅動。設備驅動配置文件可以在將磁盤鏡像安 裝到特定目標客戶端設備上(參見,例如下面關于圖5A-5C的說明)的操作期間使用。
[0098] 在一些實例中,設備驅動配置文件包括多個類別硬件平臺的配置數(shù)據(jù),每個類別 由類別名標識。對于每個類別,配置文件列出了與類別關聯(lián)的一個或者多個平臺,以及與類 別關聯(lián)的一個或者多個驅動。每個平臺可以由平臺標識符(例如,平臺ID),例如唯一序號 標識符,和平臺名來識別,而每個驅動可以由驅動標識符(驅動ID),例如唯一序號標識符, 驅動類型、驅動說明、和與驅動關聯(lián)的安裝信息文件的文件名和/或路徑。驅動類型可以包 括音頻驅動的"AUDIO"、圖形驅動的"VGA"、有線或無線網(wǎng)絡適配器驅動的"LAN"或"WLAN"、 不同類型的控制器或接口的驅動的"CARDREADER"或"USB3. 0 "等等。
[0099] 設備驅動配置文件還可以包括所有硬件平臺的配置數(shù)據(jù),例如應當安裝在所有硬 件平臺上的一個或者多個驅動的列表。設備驅動配置文件進一步可以包括在多個平臺之間 共享的通用驅動(但是不是必須由一個類的所有平臺共享)列表。每個通用驅動由驅動 ID、驅動類型、驅動說明、和文件名和/或路徑來標識。對于每個通用驅動,配置文件列出了 與驅動關聯(lián)的兩個或者多個平臺。這樣,配置文件包括在每個硬件平臺上安裝特定驅動的 信息、和硬件平臺的每個類別的標識符、與類別關聯(lián)的驅動,以及對于每個通用驅動,與通 用驅動關聯(lián)的平臺。設備驅動配置文件可以是可擴展標記語言(XML)配置文件。
[0100] 圖4B顯示了由鏡像建立模塊創(chuàng)建磁盤鏡像的過程的特殊示例。流程圖顯示了包 括在WES7鏡像創(chuàng)建中的示意性過程,圖4B中顯示的所有操作可以自動執(zhí)行,而無需人工干 預。圖4B的某些操作類似于圖3的操作,描述這些操作時可以參考圖3的說明。
[0101] WES7鏡像的創(chuàng)建開始于操作451,使用鏡像配置編輯器(ICE)創(chuàng)建通用配置響應 文件,通用配置響應文件在此不同的稱之為文件名為"common, xml"的文件(也可以稱之為 通用配置文件)。在操作453,使用鏡像建立向導(IBW)將通用配置響應文件部署在目標 硬件上,例如鏡像建立設備。在操作455和457,將第三方應用(例如,ICA、VMView、VNC等 等)和私有應用(例如,HAgent、ClientInformation、Ramdisk等等)安裝在鏡像建立設備 上。另外,在操作457-個或者多個腳本可以輸入到鏡像建立設備上,例如用于在將在其之 上部署磁盤鏡像的目標客戶端設備上實現(xiàn)或者應用客戶化的腳本。應用安裝之后,在操作 459使用應用例如drvmgmt. exe應用的卸載模塊將基本微軟兼容的驅動從鏡像卸載。在操 作461,使用例如drvmgmt. exe應用的增加模塊將支持的硬件平臺的所有設備驅動輸入到 驅動存儲。在一個方面,輸入的驅動對應于設備驅動配置文件中識別的所有驅動。最后,在 操作463,磁盤鏡像準備好用于配置,例如通過使用"Syspr印"應用,以及提取準備好的鏡 像。
[0102] 通常,在準備WES7通用主鏡像的過程中,多種硬件平臺所需的所有設備驅動被預 加載到通用主鏡像中。然而,設備驅動的副本可以增加到主鏡像的驅動存儲中,例如在某些 硬件平臺具有通用硬件組件的情況下。例如,如果多個硬件平臺(或者多個硬件平臺類別) 具有Realtek高清音頻卡、Realtek-PCI GBF族控制器、和AMD Radeon HD6310圖形卡,具 有這些通用組件的每個平臺(或者類別)的驅動的獨立副本應當被包括在驅動存儲中。為 了避免在驅動存儲中不必要的存儲相同設備驅動文件的(多個)副本,以及由此減少可部 署的磁盤鏡像的大小,設備驅動配置文件可以包括在多個平臺(或者平臺類別)之間共享 的通用驅動的一個部分。
[0103] 圖5A顯示了將磁盤鏡像安裝到目標客戶端設備上的示意性過程,例如由圖4A或 4B的過程所產生的和包括幾個硬件平臺的應用和驅動的磁盤鏡像。目標客戶端設備具有幾 個硬件平臺中的一個,目標客戶端設備的硬件平臺可以是設備驅動配置文件中標識的平臺 類別的一部分。圖5A的過程在其上將部署磁盤鏡像的每個目標客戶端設備上重復。
[0104] 安裝過程開始于操作501,將磁盤鏡像部署到目標客戶端設備。圖5A的過程可以 由鏡像配置模塊執(zhí)行,例如由目標客戶端設備的或者在其上運行的鏡像配置模塊。目標客 戶端設備可以使用任意遠程管理軟件機制接收或者提取磁盤鏡像。在一個方面,目標客戶 端設備從服務器(例如,服務器112)、鏡像建立設備、或者存儲或者已經訪問到磁盤鏡像的 另一個設備接收或者提取磁盤鏡像。可選地,磁盤鏡像可以被推送到目標客戶端設備、被預 加載到安裝于或者連接到目標客戶端設備的存儲器上、或者否則可以被提供給目標客戶端 設備。在操作503,目標客戶端設備將磁盤鏡像存儲于目標客戶端設備的存儲器或者其它機 器可讀介質,或者否則與存儲磁盤鏡像的機器可讀介質進行通信。在操作505,目標客戶端 設備重啟,或者否則執(zhí)行啟動過程來開始磁盤鏡像安裝。
[0105] 在啟動過程期間或者之后,在其中存儲有磁盤鏡像的目標客戶端設備自動安裝硬 件和形成為目標客戶端設備的一部分的其它組件的驅動(操作507)。根據(jù)客戶端設備的特 定硬件平臺,并使用存儲在磁盤鏡像的驅動存儲中的建立信息文件將驅動安裝在客戶端設 備上。如果客戶端設備是運行WES7的精簡客戶端,驅動安裝操作可以作為用于配置和安裝 目標客戶端設備的特定硬件的驅動的視窗即插即用過程的一部分來執(zhí)行。視窗即插即用安 裝過程通常是在WES7精簡客戶端啟動過程期間自動發(fā)起的,并自動檢測硬件組件,搜索驅 動或者相關驅動建立信息文件,并在精簡客戶端上安裝驅動??梢园ㄗ鳛椴僮?07執(zhí)行 的驅動安裝的一部分的操作的更詳細的說明包括在下面關于圖6A的說明中。
[0106] 在操作509,提取設備驅動配置文件。通常,設備驅動配置文件是從客戶端設備存 儲的磁盤鏡像提取的,然而,設備驅動配置文件可以從另一個存儲位置提取,例如從本地或 者遠程存儲位置。設備驅動配置文件基本上類似于上面關于圖4A所述的設備驅動配置文 件。隨著提取設備驅動配置文件,客戶端設備可以對客戶端設備應用某些客戶化,例如對客 戶端設備應用特定策略或喜好(例如,磁盤重整、飛行方案)??蛻艋梢允怯脩籼囟ǖ?,可 以根據(jù)在磁盤鏡像包括的,或者在鏡像建立設備可訪問的其它合適存儲位置包括的一個或 者多個腳本中包括的客戶化信息來執(zhí)行。
[0107] 在操作511,識別目標客戶端設備的硬件平臺和相關的類別。根據(jù)識別的硬件平臺 和類別,以及根據(jù)設備驅動配置文件中包括的信息,識別與硬件平臺和類別相關的驅動用 于安裝在客戶端設備上。操作511可以因此包括將設備驅動配置文件中標識的所有驅動識 別為與客戶端設備硬件平臺的類別相關,并將設備驅動配置文件中標識的所有通用驅動識 別為與客戶端設備的硬件平臺相關。作為操作511的一部分,驅動和與識別的驅動相關的 驅動應用可以安裝在客戶端設備上。驅動應用可以在設備驅動配置文件中標識,例如與應 用對應的驅動關聯(lián)的設備驅動配置文件中的一部分。根據(jù)客戶端設備的硬件平臺選擇驅動 應用安裝在客戶端設備上。
[0108] 在操作513,驗證在操作511識別的所有驅動的安裝狀態(tài),以保證與目標客戶端設 備的硬件平臺和類別相關的所有驅動已經被安裝在目標客戶端設備上。驗證可以包括列舉 (或者確定)安裝在目標客戶端設備上的所有驅動,并將列舉出來的驅動與在操作511識別 的驅動進行比較。如果確定所有驅動安裝在目標客戶端設備上,操作進行到操作515。然 而,如果發(fā)現(xiàn)在操作511識別的任何驅動沒有安裝在客戶端設備上,檢測到錯誤。響應于檢 測到錯誤,客戶端設備可以嘗試重新安裝發(fā)現(xiàn)沒有安裝的任意驅動,和/或可以提出驅動 安裝故障告警指示沒有安裝一個或者多個驅動。
[0109] 如果所有驅動確定為安裝在目標客戶端設備上,在操作515識別設備驅動配置文 件中列出的不與目標客戶端設備的硬件平臺相關也不與類別相關的其它驅動。在操作517, 將其它驅動,對應于包括在磁盤鏡像的驅動存儲中但在磁盤鏡像安裝過程中還沒有使用的 驅動,從客戶端設備的驅動存儲中刪除。一旦清除了其它未使用的驅動,安裝過程結束于操 作519。圖5A所示的所有操作可以自動執(zhí)行無需人工干預。
[0110] 圖5B和5C顯示了在目標客戶端設備上部署鏡像期間包括的操作的示意性流程 圖,例如由目標客戶端設備的鏡像配置模塊執(zhí)行的操作。
[0111] 在圖5B中,在將WES7鏡像(包括驅動存儲)部署到目標客戶端設備上之后,以及 在目標客戶端設備的第一次啟動過程期間,例如微軟即插即用自動驅動安裝過程的過程將 根據(jù)目標硬件從驅動存儲配置和安裝所有需要的驅動(操作541)。在操作543,客戶化腳 本將運行,其負責建立類似于用戶特定策略、磁盤重整、飛行方案等事情。在操作545根據(jù) 目標客戶端設備的硬件平臺加入需求的驅動應用,例如使用drvmgmt. exe的CheckDriver 模塊。在操作547,使用drvmgmt. exe應用的列舉、驗證和清除模塊將任意未使用的設備驅 動從驅動存儲中清除。操作547之后,WES7精簡客戶端在操作549準備好使用了。
[0112] 在圖5C中提供了更詳細的流程圖。在操作571,創(chuàng)建驅動儲存庫以存儲磁盤鏡像 支持的所有硬件平臺的廠商驅動。在操作573,將驅動和設備驅動配置文件(可以稱之為 "DriverConfig. xml"文件)預加載到主通用磁盤鏡像驅動存儲中,以及在操作575將磁盤鏡 像部署到目標客戶端設備硬件上。在操作577,將驅動安裝在使用磁盤鏡像的驅動存儲中存 儲的驅動的目標客戶端設備。安裝可以由即插即用(PNP)應用和/或drvmgmt. exe應用的 安裝模塊執(zhí)行。目標客戶端設備的硬件平臺類別在操作579識別。在操作581,列舉安裝在 目標客戶端設備上的設備驅動,在操作583,識別與設備驅動配置文件中的目標客戶端設備 的硬件平臺和/或類別關聯(lián)的驅動。根據(jù)在操作581和583識別的驅動,確定與目標客戶 端設備平臺和類別關聯(lián)的所有驅動是否已經安裝(操作585)。如果任意驅動還未安裝(操 作587),執(zhí)行結束(操作593)。然而,如果所有驅動都已經安裝,就讀取設備驅動配置文件 來識別與硬件平臺而不是與目標客戶端設備平臺關聯(lián)的其它驅動(操作589)。在操作591 將其它驅動從驅動存儲中清除,過程結束于操作593。圖5B和5C所示的所有操作可以自動 執(zhí)行無需人工干預。
[0113] 圖6A顯示了驗證目標客戶端設備上驅動的安裝,例如圖5A的操作507中執(zhí)行的 安裝是否成功的示意性過程。在部署磁盤鏡像的過程中,例如UWES7通用主鏡像,在目標客 戶端設備上,使用驅動存儲中存儲的驅動建立信息文件根據(jù)硬件平臺安裝設備驅動。設備 驅動安裝過程通常是自動執(zhí)行的,例如通過即插即用型安裝過程。然而設備驅動安裝過程 可能由于多種原因,包括存儲器或者存儲設備(例如,目標SSD閃存)的空間不夠、對應于 非即插即用設備的驅動不能夠自動安裝在目標客戶端設備上、和/或在安裝期間設備初始 化故障而失敗。為了解決設備驅動安裝過程期間的這些問題,圖6A提供了實現(xiàn)多層次驅動 安裝和驗證過程的方法。
[0114] 在操作601,將一個或者多個驅動安裝在客戶端設備上。安裝之后,在操作603驗 證驅動安裝狀態(tài)。通常,驗證包括校驗設備上的任意驅動是否指示為未成功安裝。在運行 基于視窗的操作系統(tǒng)的設備中,例如,操作系統(tǒng)可以指示設備安裝狀態(tài)失敗或者未成功。在 其它類型設備中,標記或者其它標識可以指示驅動安裝未完成。如果所有驅動的安裝都成 功,沒有安裝失敗(操作605- "否"),可以報告驅動安裝成功(操作607),驗證過程結束 于操作617。然而,如果一個或者多個驅動的安裝失敗了、不成功或者否則沒有正確地完成 (操作605- "是"),就在操作609嘗試重新安裝驅動。驅動重新安裝通常是與驅動安裝基 本上相同的方式執(zhí)行,例如操作507和/或601執(zhí)行的。驅動重新安裝還可以包括驅動卸 載操作,以在執(zhí)行驅動重新安裝之前刪除未成功或者未完成的驅動安裝。驅動重新安裝之 后,在操作611驗證驅動重新安裝狀態(tài)。如果所有驅動的重新安裝都成功,沒有重新安裝失 ?。ú僮?13- "否"),可以包括驅動安裝成功(操作607)和驅動安裝驗證過程終止于操 作617。然而如果一個或者多個驅動的重新安裝失敗了(操作613-"是"),就報告驅動安 裝失?。ú僮?15)以及過程終止于操作617。
[0115] 圖6B根據(jù)關于圖6A所述的過程顯示了驅動安裝驗證過程的特殊示例。圖6A和 6B所示的所有操作可以自動執(zhí)行無需人工干預。
[0116] 圖7A示意性地顯示了用于存儲例如圖4A-4B、5A-5C、圖6A-6B的過程中所使用的 設備驅動配置文件701的數(shù)據(jù)結構700。設備驅動配置文件701包括一個或者多個平臺類別 結構703,每個平臺類別結構存儲與特定平臺類別相關的信息。特別地,平臺類別結構703 可以包括類別標識符707, 一個或者多個平臺709和驅動711的列表。類別標識符707可以 是類別編號、類別ID、類別名和/或與結構關聯(lián)的類別的其它標識符。一個或者多個平臺 709的列表標識了與類別關聯(lián)的所有硬件平臺,可以是例如平臺編號、平臺ID、平臺名的列 表。驅動711的列表標識了與類別關聯(lián)的所有驅動,可以是例如驅動編號、驅動ID、驅動名、 和/或驅動建立信息文件的文件名和/或路徑的列表。設備驅動配置文件701進一步包括 一個或者多個通用驅動結構705,每個通用驅動結構存儲與特定通用驅動相關的信息。通用 驅動結構通常存儲對應于結構的驅動713的信息,驅動信息713包括驅動編號、驅動ID、驅 動名、和/或驅動建立信息文件的文件名和/或路徑。通用驅動結構還包括與通用驅動關 聯(lián)的平臺715的列表。
[0117] 圖7B示意性地顯示了用于存儲例如圖4A-4B、5A-5C、圖6A-6B的過程中所使用的 磁盤鏡像的磁盤鏡像801的數(shù)據(jù)結構800。磁盤鏡像801通常是硬盤、閃存、存儲器、其它存 儲介質、或者存儲介質的一部分,其存儲文件、文件夾、和用于部署到目標客戶端設備的其 它數(shù)據(jù),的副本。在圖4A-4B、5A-5C、圖6A-6B的示例中,磁盤鏡像可以基本上存儲在鏡像 建立設備的機器可讀介質(例如硬盤、閃存等等)上存儲的所有數(shù)據(jù),當鏡像準備好和從鏡 像建立設備提取時。在一些示例中,磁盤鏡像801可以包括操作系統(tǒng)、應用和在存儲器鏡像 準備好部署時存儲在鏡像建立客戶端設備的存儲器中的數(shù)據(jù)文件。在圖7B所示示例中,磁 盤鏡像801包括設備驅動配置文件803、在磁盤鏡像創(chuàng)建之前安裝在鏡像建立客戶端設備 上的一個或者多個應用805、以及存儲多個驅動的驅動文件807a、807b的驅動存儲807。驅 動文件807a、807b可以是驅動文件、建立信息文件(例如,".inf"文件)或者用于驅動安 裝的其它類型的文件(例如,".msi"安裝包文件、cab"存檔包文件、exe"可執(zhí)行文件 等)等等°
[0118] 圖8A是顯示示意性WES7操作系統(tǒng)的組件、以及操作系統(tǒng)組件與客戶端設備上不 同存儲結構之間的交互的結構圖。在圖8A示例中,操作系統(tǒng)包括即插即用特征用于在客 戶端設備上自動配置驅動。即插即用特征(例如,視窗操作系統(tǒng)的微軟即插即用特征)可 以確定一個或者多個驅動丟失了,例如通過識別客戶端設備的一個或者多個組件沒有安裝 相關的驅動,并自動嘗試安裝識別的組件的驅動。驅動可以根據(jù)驅動建立信息文件或者存 儲在例如客戶端設備的驅動存儲中的其它安裝或者數(shù)據(jù)文件來安裝。一旦安裝了,驅動形 成為客戶端設備上激活驅動組的一部分,例如位于運行基于視窗的操作系統(tǒng)的客戶端設備 的windows/system32/drivers文件夾中的Win_32激活驅動。操作系統(tǒng)可以依賴于提供 設備管理控制臺的Devmgmt.msc應用、提供建立應用為執(zhí)行安裝操作調用的一組功能的 SetupAPI應用程序接口、和/或提供設備處理所需功能的DIFxAPI設備安裝器??蛻舳嗽O 備或者操作系統(tǒng)進一步使用私有應用,例如在此被稱為Drvmgmt. exe的應用,根據(jù)客戶端 設備的硬件平臺和使用客戶端設備的驅動存儲來處理和執(zhí)行第三方驅動的智能安裝。
[0119] 圖8B根據(jù)本技術主題的不同方面顯示了客戶端設備的簡化結構圖。客戶端設備 102可以包括以下中的一些或者所有:鏡像建立模塊808、鏡像配置模塊809、驅動管理模塊 810、更新代理模塊812、應用模塊822、驅動模塊824、操作系統(tǒng)模塊826、硬件組件830。更 新代理模塊812可以包括以下中的一個或兩者:自動更新模塊814和部署模塊816。部署模 塊816可以包括以下中的一個或兩者:驅動部署模塊818和應用部署模塊820。操作系統(tǒng)模 塊826優(yōu)選地包括寫入過濾器。其可以包括排除列表。在一些方面,驅動管理模塊可以部 分地作為例如"drivermgmt. exe"的驅動管理應用來實現(xiàn)。客戶端設備102的模塊和/或 組件可以相互通信。在一些方面,硬件組件830可以包括不同接口設備,客戶端設備102的 模塊進一步通過人機接口設備(HID)連接與不同用戶接口設備通信。用戶接口設備可以包 括一個或者多個輸出設備(例如,一個或者多個顯示器、揚聲器、或者其它音頻、圖像、或視 頻輸出設備)和一個或者多個輸入設備(例如,一個或者多個鍵盤、鼠標、跟蹤球、麥克風、 觸針、觸摸屏、觸摸板、筆、平板、或者其它音頻、圖像或視頻輸入設備)。模塊還可以通過網(wǎng) 絡連接與公共網(wǎng)118或公司網(wǎng)絡114通信。
[0120] 在優(yōu)選實施方式中,模塊(例如,通過828的808)在軟件中實現(xiàn)(例如,包括例程 或代碼的機器可讀介質)。在另一個實施方式中,一些或者所有模塊可以以硬件(例如,專 用集成電路(ASIC)、場可編程門陣列(FPGA)、可編程邏輯設備(PLD)、控制器、狀態(tài)機、門控 邏輯、分離的硬件組件、或者任意其它合適的設備)和/或其組合實現(xiàn)。根據(jù)本公開的不同 方面的這些模塊的其它特征和功能將進一步說明。
[0121] 在一個示例中,客戶端設備102的嵌入式鏡像可以包括操作系統(tǒng)模塊826和以下 中的一些或所有:模塊822、824、和808。在另一個示例中,客戶端設備102的嵌入式鏡像 可以包括操作系統(tǒng)模塊826和以下中的一些或所有:模塊822、824、和809。在另一個示例 中,客戶端設備102的嵌入式鏡像可以包括操作系統(tǒng)模塊826和以下中的一些或所有:模塊 822、824、和810。在另一個示例中,客戶端設備102的嵌入式鏡像可以包括操作系統(tǒng)模塊 826和以下中的一些或所有:模塊822、824、812和814。在另一個示例中,客戶端設備102 的嵌入式鏡像可以包括操作系統(tǒng)模塊826和以下中的一些或所有:模塊822、824、812、816、 818和820。在另一個示例中,客戶端設備102的嵌入式鏡像可以包括操作系統(tǒng)模塊826和 以下中的一些或所有:模塊808、809、810、812、814、816、820和824。在另一個示例中,客戶 端設備102可以包括操作系統(tǒng)模塊和模塊808。
[0122] 根據(jù)一些方法,為了通過管理軟件大量部署精簡客戶端固件,客戶化固件鏡像需 要作為文件包來創(chuàng)建。鏡像的寫入過濾器可能需要停用,軟件/驅動需要安裝,合適的配置 需要設置,以及然后寫入過濾器可能需要啟用。在這個過程之后,客戶端上的固件可能需要 從遠程服務器提取。這個固件鏡像可以是大尺寸和可能需要推送到使用客戶化固件改變的 所有合適的客戶端。
[0123] 為了阻止大固件通過網(wǎng)絡推送給多個客戶端的這個過程,將要安裝的驅動/應用 可以在配置文件中規(guī)定。在一些方面,應用還可以與配置文件一起存儲。只要客戶端啟動 了,運行于每個客戶端設備的自動更新業(yè)務可以檢驗配置文件,以確定客戶端設備上的任 意驅動或者應用的更新是否可用,并且然后自動更新業(yè)務能夠下載和安裝對應驅動或應用 的可用更新。
[0124] 圖9A顯示了用于安裝、卸載、和在客戶端設備的驅動上執(zhí)行其它處理和操作的驅 動管理模塊的簡化結構圖。驅動管理模塊,在此稱之為Drvmgmt. exe和/或驅動管理應用, 包括用于執(zhí)行處理的單獨模塊,包括用于增加、安裝、檢驗、再次掃描、列舉、驗證、卸載、和 從客戶端設備清除驅動的模塊。驅動管理模塊可以位于或者安裝于客戶端設備上,例如目 標客戶端設備或者鏡像建立設備、或者服務器,并用于在模塊所位于的客戶端設備或者服 務器上執(zhí)行過程。
[0125] 圖9B-9J顯示了驅動管理模塊(例如,drvmgmt. exe)的不同子模塊執(zhí)行的過程 的詳細流程圖。驅動管理模塊用于,例如在上述關于圖4A_4B、5A_5C、圖6A-6B所不的和 說明的鏡像建立過程的多個階段。在上述示例中,驅動管理模塊用于執(zhí)行創(chuàng)建Windows Embedded Standard7精簡客戶端主鏡像中包括的多個操作。
[0126] 驅動管理模塊可以作為命令行應用來實現(xiàn),其被開發(fā)以處理Windows Embedded Standard7精簡客戶端主鏡像上的不同設備驅動管理行為。模塊可以支持不同功能,象增加 一個或者多個設備驅動到驅動存儲中、安裝和卸載驅動、從驅動存儲中刪除驅動等等。
[0127] 在驅動管理模塊是命令行應用的實現(xiàn)中,可以如下所示來使用。應用可以用如下 所不的命令行來調用:Drvmgmt. exe/〈function name>[function arguments]
[0128] 下面包括驅動管理模塊支持的功能列表,以及功能相關的說明。驅動管理模塊的 功能被調用之后(對應于圖9J示意性顯示的過程),驅動管理模塊提取提供給功能的命令 行參數(shù),驗證所有命令行參數(shù)都存在并且具有正確的語法,并根據(jù)提供的命令行選項和參 數(shù)執(zhí)行各自模塊。例如,Install模塊(對應于圖9C示意性顯示的過程)執(zhí)行安裝功能,以 從特定路徑(例如,存儲了 ".inf"驅動建立信息文件的路徑)安裝驅動文件包。Add模塊 (參見如圖9B)執(zhí)行增加功能,以預加載驅動存儲中的即插即用(PNP)功能驅動的驅動文件 包,并使用DIFXAPI功能安裝系統(tǒng)INF文件目錄中的驅動文件包的INF文件。CheckDriver 模塊(參見例如圖9D)執(zhí)行檢驗驅動功能,來驗證請求的驅動是否已經安裝,并象主程序 返回狀態(tài)。Rescan模塊(參見例如圖9E)執(zhí)行再次掃描功能,用于從驅動存儲重配置設備 驅動。Enumerate模塊(參見例如圖9F)執(zhí)行列舉功能,用于從安裝的目標平臺捕獲設備 驅動信息(設備驅動描述)。列舉模塊因此可以被用于獲得安裝在客戶端設備上的驅動列 表。Verify模塊(參見例如圖9G)執(zhí)行驗證功能,用于驗證當前安裝在目標硬件上的驅 動列表,用基于客戶端設備的硬件模型的設備驅動配置文件或者部署配置文件(例如命名 為 "DriverConfig. xml" 或"DeviceDeploymentConfig. xml" 的文件)中給出的參考驅動列 表。Uninstall模塊(參見例如圖9H)執(zhí)行卸載功能,用于根據(jù)驅動說明刪除當前配置用 于設備的驅動。Clear模塊(參見例如圖91)執(zhí)行清除功能,用于驗證驅動完整性,并從驅 動存儲中清除設備驅動配置文件或者部署配置文件(例如命名為"DriverConfig. xml"或 "DeviceDeploymentConfig. xml"的文件)中規(guī)定的其它硬件模型的驅動。示意性地顯示于 圖9B-9J中的每一個的過程可以自動執(zhí)行,無需人工干預。
[0129] 驅動管理模塊的每個模塊、以及相關過程可以使用全命令行用法來調用,例如:
[0130]
【權利要求】
1. 一種用于將磁盤鏡像安裝到具有特定類別的硬件平臺的客戶端設備上的方法,其中 所述磁盤鏡像包括用于多個硬件平臺的多個驅動,所述方法包括: 便于存儲,在所述客戶端設備的存儲器上,所述磁盤鏡像; 便于根據(jù)所述客戶端設備的硬件平臺和利用具有所述多個硬件平臺的所述多個驅動 的所述磁盤鏡像的驅動存儲在所述客戶端設備上安裝至少一個驅動; 便于提取設備驅動配置文件,其中對于所述多個硬件平臺的類別,所述設備驅動配置 文件標識與各自類別關聯(lián)的一個或者多個驅動,以及對于由所述多個硬件平臺中的兩個或 者多個共享的一個或者多個通用驅動,標識與所述一個或者多個通用驅動各自分別關聯(lián)的 所述多個硬件平臺中的所述兩個或者多個; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺的所述特定類別,在所述設備驅動配 置文件中標識的與所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺,在所述設備驅動配置文件中標識的 與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動; 便于識別在所述設備驅動配置文件中標識的以及不包括在識別的與所述客戶端設備 的所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動或者識別的與所述客戶端設備 的所述硬件平臺關聯(lián)的一個或者多個通用驅動中的其它驅動;以及 便于從所述驅動存儲中刪除所述識別的其它驅動。
2. 根據(jù)權利要求1所述的方法,進一步包括: 便于驗證所述識別的與所述客戶端設備的所述硬件平臺的所述特定類別關聯(lián)的一個 或者多個驅動或者所述識別的與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通 用驅動安裝于所述客戶端設備上。
3. 根據(jù)權利要求1所述的方法,進一步包括: 在所述客戶端設備上安裝所述至少一個驅動之后,便于驗證所述客戶端設備上所述至 少一個驅動的安裝狀態(tài); 便于判斷,根據(jù)所述安裝狀態(tài)的驗證,所述客戶端設備上特定驅動的安裝失敗了; 便于在所述客戶端設備上重新安裝所述特定驅動; 在所述特定驅動的重新安裝之后,便于驗證所述特定驅動的所述重新安裝狀態(tài); 便于判斷,根據(jù)所述重新安裝狀態(tài)的驗證,所述客戶端設備上所述特定驅動的重新安 裝失敗了;以及 便于報告驅動安裝失敗。
4. 根據(jù)權利要求1所述的方法,進一步包括: 便于對所述客戶端設備的客戶化應用,根據(jù)用戶特定的客戶化信息;以及 便于根據(jù)所述客戶端設備的所述硬件平臺在所述客戶端設備上安裝一個或者多個驅 動應用。
5. 根據(jù)權利要求1所述的方法,進一步包括: 在便于識別一個或者多個驅動和便于識別一個或者多個通用驅動之前,便于識別所述 客戶端設備的所述硬件平臺和識別所述客戶端設備的所述硬件平臺的所述類別。
6. 根據(jù)權利要求1所述的方法,其中所述設備驅動配置文件是可擴展標記語言(XML) 文件。
7. 根據(jù)權利要求1所述的方法,其中所述設備驅動配置文件是從所述存儲的磁盤鏡像 提取的。
8. 根據(jù)權利要求1所述的方法,其中所述磁盤鏡像進一步包括多個應用,以及其中在 便于存儲所述磁盤鏡像之前,所述方法包括: 便于在鏡像建立設備的存儲器上安裝所述多個應用,其中所述鏡像建立設備包括之前 存在的驅動; 便于從所述鏡像建立設備卸載所述之前存在的驅動; 便于將所述多個硬件平臺的所述多個驅動輸入到所述鏡像建立設備的存儲器的;以及 在所述多個應用的所述安裝、所述之前存在的驅動的所述卸載、以及所述多個驅動的 所述輸入之后,便于根據(jù)具有所述多個安裝的應用和所述多個輸入的驅動的所述鏡像建立 設備的所述存儲器創(chuàng)建所述磁盤鏡像。
9. 根據(jù)權利要求8所述的方法,其中所述安裝所述多個應用包括安裝至少一個第三方 應用和安裝至少一個初始設備制造商(OEM)應用。
10. -種具有編碼指令的機器可讀存儲介質,該指令可由一個或者多個處理器執(zhí)行以 完成一個或者多個操作,用于將磁盤鏡像安裝到具有特定類別的硬件平臺的客戶端設備 上,其中所述磁盤鏡像包括用于多個硬件平臺的多個驅動,所述一個或者多個操作包括: 便于存儲,在所述客戶端設備的存儲器上,所述磁盤鏡像; 便于根據(jù)所述客戶端設備的所述硬件平臺和利用具有所述多個硬件平臺的所述多個 驅動的所述磁盤鏡像的驅動存儲在所述客戶端設備上安裝至少一個驅動; 便于提取設備驅動配置文件,其中對于所述多個硬件平臺的類別,所述設備驅動配置 文件標識與各自類別關聯(lián)的一個或者多個驅動,以及對于由所述多個硬件平臺中的兩個或 者多個共享的一個或者多個通用驅動,標識與所述一個或者多個通用驅動各自分別關聯(lián)的 所述多個硬件平臺中的所述兩個或者多個; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺的所述特定類別,在所述設備驅動配 置文件中標識的與所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺,在所述設備驅動配置文件中標識的 與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動; 便于識別在所述設備驅動配置文件中標識的以及不包括在所述識別的與所述客戶端 設備的所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動或者所述識別的與所述客 戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動中的其它驅動;以及 便于從所述驅動存儲中刪除所述識別的其它驅動。
11. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述一個或者多個操作進一步包 括: 便于驗證所述識別的與所述客戶端設備的所述硬件平臺的所述特定類別關聯(lián)的一個 或者多個驅動或者所述識別的與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通 用驅動安裝于所述客戶端設備上。
12. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述一個或者多個操作進一步包 括: 在所述客戶端設備上安裝所述至少一個驅動之后,便于驗證所述客戶端設備上所述至 少一個驅動的安裝狀態(tài); 便于判斷,根據(jù)所述安裝狀態(tài)的驗證,所述客戶端設備上特定驅動的安裝失敗了; 便于在所述客戶端設備上重新安裝所述特定驅動; 在所述特定驅動的重新安裝之后,便于驗證所述特定驅動的所述重新安裝狀態(tài); 便于判斷,根據(jù)所述重新安裝狀態(tài)的驗證,所述客戶端設備上所述特定驅動的重新安 裝失敗了;以及 便于報告驅動安裝失敗。
13. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述一個或者多個操作進一步包 括: 便于對所述客戶端設備的客戶化應用,根據(jù)用戶特定的客戶化信息;以及 便于根據(jù)所述客戶端設備的所述硬件平臺在所述客戶端設備上安裝一個或者多個驅 動應用。
14. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述一個或者多個操作進一步包 括: 在便于識別一個或者多個驅動和便于識別一個或者多個通用驅動之前,便于識別所述 客戶端設備的所述硬件平臺和識別所述客戶端設備的所述硬件平臺的所述類別。
15. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述設備驅動配置文件是可擴展 標記語言(XML)文件。
16. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述設備驅動配置文件是從所述 存儲的磁盤鏡像提取的。
17. 根據(jù)權利要求10所述的機器可讀存儲介質,其中所述磁盤鏡像進一步包括多個應 用,以及其中在便于存儲所述磁盤鏡像之前,所述一個或者多個操作進一步包括: 便于在鏡像建立設備的存儲器上安裝所述多個應用,其中所述鏡像建立設備包括之前 存在的驅動; 便于從所述鏡像建立設備卸載所述之前存在的驅動; 便于將所述多個硬件平臺的所述多個驅動輸入到所述鏡像建立設備的存儲器的;以及 在所述多個應用的所述安裝、所述之前存在的驅動的所述卸載、以及所述多個驅動的 所述輸入之后,便于根據(jù)具有所述多個安裝的應用和所述多個輸入的驅動的所述鏡像建立 設備的所述存儲器創(chuàng)建所述磁盤鏡像。
18. 根據(jù)權利要求17所述的機器可讀存儲介質,其中所述安裝所述多個應用包括安裝 至少一個第三方應用和安裝至少一個初始設備制造商(OEM)應用。
19. 一種硬件設備,用于將磁盤鏡像安裝到具有特定類別的硬件平臺的客戶端設備上, 其中所述磁盤鏡像包括用于多個硬件平臺的多個驅動,所述設備包括: 一個或者多個模塊,被配置用于執(zhí)行一個或者多個操作,包括: 便于存儲,在所述客戶端設備的存儲器上,所述磁盤鏡像; 便于根據(jù)所述客戶端設備的所述硬件平臺和利用具有所述多個硬件平臺的所述多個 驅動的所述磁盤鏡像的驅動存儲在所述客戶端設備上安裝至少一個驅動; 便于提取設備驅動配置文件,其中對于所述多個硬件平臺的類別,所述設備驅動配置 文件標識與各自類別關聯(lián)的一個或者多個驅動,以及對于由所述多個硬件平臺中的兩個或 者多個共享的一個或者多個通用驅動,標識與所述一個或者多個通用驅動各自分別關聯(lián)的 所述多個硬件平臺中的所述兩個或者多個; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺的所述特定類別,在所述設備驅動配 置文件中標識的與所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動; 便于識別,根據(jù)所述客戶端設備的所述硬件平臺,在所述設備驅動配置文件中標識的 與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動; 便于識別在所述設備驅動配置文件中標識的以及不包括在所述識別的與所述客戶端 設備的所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動或者所述識別的與所述客 戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動中的其它驅動;以及 便于從所述驅動存儲中刪除所述識別的其它驅動。
20. 根據(jù)權利要求19所述的硬件設備,其中所述一個或者多個操作進一步包括: 便于驗證所述識別的與所述客戶端設備的所述硬件平臺的所述特定類別關聯(lián)的一個 或者多個驅動或者所述識別的與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通 用驅動安裝于所述客戶端設備上。
21. 根據(jù)權利要求19所述的硬件設備,其中所述一個或者多個操作進一步包括: 在所述客戶端設備上安裝所述至少一個驅動之后,便于驗證所述客戶端設備上所述至 少一個驅動的安裝狀態(tài); 便于判斷,根據(jù)所述安裝狀態(tài)的驗證,所述客戶端設備上特定驅動的安裝失敗了; 便于在所述客戶端設備上重新安裝所述特定驅動; 在所述特定驅動的重新安裝之后,便于驗證所述特定驅動的所述重新安裝狀態(tài); 便于判斷,根據(jù)所述重新安裝狀態(tài)的驗證,所述客戶端設備上所述特定驅動的重新安 裝失敗了;以及 便于報告驅動安裝失敗。
22. 根據(jù)權利要求19所述的硬件設備,其中所述一個或者多個操作進一步包括: 便于對所述客戶端設備的客戶化應用,根據(jù)用戶特定的客戶化信息;以及 便于根據(jù)所述客戶端設備的所述硬件平臺在所述客戶端設備上安裝一個或者多個驅 動應用。
23. 根據(jù)權利要求19所述的硬件設備,其中所述一個或者多個操作進一步包括: 在便于識別一個或者多個驅動和便于識別一個或者多個通用驅動之前,便于識別所述 客戶端設備的所述硬件平臺和識別所述客戶端設備的所述硬件平臺的所述類別。
24. 根據(jù)權利要求19所述的硬件設備,其中所述設備驅動配置文件是可擴展標記語言 (XML)文件。
25. 根據(jù)權利要求19所述的硬件設備,其中所述設備驅動配置文件是從所述存儲的磁 盤鏡像提取的。
26. 根據(jù)權利要求19所述的硬件設備,其中所述磁盤鏡像進一步包括多個應用,以及 其中在便于存儲所述磁盤鏡像之前,所述一個或者多個操作進一步包括: 便于在鏡像建立設備的存儲器上安裝所述多個應用,其中所述鏡像建立設備包括之前 存在的驅動; 便于從所述鏡像建立設備卸載所述之前存在的驅動; 便于將所述多個硬件平臺的所述多個驅動輸入到所述鏡像建立設備的存儲器的;以及 在所述多個應用的所述安裝、所述之前存在的驅動的所述卸載、以及所述多個驅動的 所述輸入之后,便于根據(jù)具有所述多個安裝的應用和所述多個輸入的驅動的所述鏡像建立 設備的所述存儲器創(chuàng)建所述磁盤鏡像。
27. 根據(jù)權利要求26所述的硬件設備,其中所述安裝所述多個應用包括安裝至少一個 第三方應用和安裝至少一個初始設備制造商(OEM)應用。
28. -種設備,用于將磁盤鏡像安裝到具有特定類別的硬件平臺的客戶端設備上,其中 所述磁盤鏡像包括用于多個硬件平臺的多個驅動,所述設備包括: 裝置用于便于存儲,在所述客戶端設備的存儲器上,所述磁盤鏡像; 裝置用于便于根據(jù)所述客戶端設備的所述硬件平臺和利用具有所述多個硬件平臺的 所述多個驅動的所述磁盤鏡像的驅動存儲在所述客戶端設備上安裝至少一個驅動; 裝置用于便于提取設備驅動配置文件,其中對于所述多個硬件平臺的類別,所述設備 驅動配置文件標識與各自類別關聯(lián)的一個或者多個驅動,以及對于由所述多個硬件平臺中 的兩個或者多個共享的一個或者多個通用驅動,標識與所述一個或者多個通用驅動各自分 別關聯(lián)的所述多個硬件平臺中的所述兩個或者多個; 裝置用于便于識別,根據(jù)所述客戶端設備的所述硬件平臺的所述特定類別,在所述設 備驅動配置文件中標識的與所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動; 裝置用于便于識別,根據(jù)所述客戶端設備的所述硬件平臺,在所述設備驅動配置文件 中標識的與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動; 裝置用于便于識別在所述設備驅動配置文件中標識的以及不包括在所述識別的與所 述客戶端設備的所述硬件平臺的所述特定類別關聯(lián)的一個或者多個驅動或者所述識別的 與所述客戶端設備的所述硬件平臺關聯(lián)的一個或者多個通用驅動中的其它驅動;以及 裝置用于便于從所述驅動存儲中刪除所述識別的其它驅動。
29. 根據(jù)權利要求28所述的設備,進一步包括: 裝置用于便于驗證所述識別的與所述客戶端設備的所述硬件平臺的所述特定類別關 聯(lián)的一個或者多個驅動或者所述識別的與所述客戶端設備的所述硬件平臺關聯(lián)的一個或 者多個通用驅動安裝于所述客戶端設備上。
30. 根據(jù)權利要求28所述的設備,進一步包括: 裝置用于在所述客戶端設備上安裝所述至少一個驅動之后,便于驗證所述客戶端設備 上所述至少一個驅動的安裝狀態(tài); 裝置用于便于判斷,根據(jù)所述安裝狀態(tài)的驗證,所述客戶端設備上特定驅動的安裝失 敗了; 裝置用于便于在所述客戶端設備上重新安裝所述特定驅動; 裝置用于在所述特定驅動的重新安裝之后,便于驗證所述特定驅動的所述重新安裝狀 態(tài); 裝置用于便于判斷,根據(jù)所述重新安裝狀態(tài)的驗證,所述客戶端設備上所述特定驅動 的重新安裝失敗了;以及 裝置用于便于報告驅動安裝失敗。
31. 根據(jù)權利要求28所述的設備,進一步包括: 裝置用于便于對所述客戶端設備的客戶化應用,根據(jù)用戶特定的客戶化信息;以及 裝置用于便于根據(jù)所述客戶端設備的所述硬件平臺在所述客戶端設備上安裝一個或 者多個驅動應用。
32. 根據(jù)權利要求28所述的設備,進一步包括: 裝置用于在便于識別一個或者多個驅動和便于識別一個或者多個通用驅動之前,便于 識別所述客戶端設備的所述硬件平臺和識別所述客戶端設備的所述硬件平臺的所述類別。
33. 根據(jù)權利要求28所述的設備,其中所述設備驅動配置文件是可擴展標記語言 (XML)文件。
34. 根據(jù)權利要求28所述的設備,其中所述設備驅動配置文件是從所述存儲的磁盤鏡 像提取的。
35. 根據(jù)權利要求28所述的設備,其中所述磁盤鏡像進一步包括多個應用,以及其中 在便于存儲所述磁盤鏡像之前,其中所述設備進一步包括: 裝置用于,在便于存儲所述磁盤鏡像之前,便于在鏡像建立設備的存儲器上安裝所述 多個應用,其中所述鏡像建立設備包括之前存在的驅動; 裝置用于便于從所述鏡像建立設備卸載所述之前存在的驅動; 裝置用于便于將所述多個硬件平臺的所述多個驅動輸入到所述鏡像建立設備的存儲 器的;以及 裝置用于在所述多個應用的所述安裝、所述之前存在的驅動的所述卸載、以及所述多 個驅動的所述輸入之后,便于根據(jù)具有所述多個安裝的應用和所述多個輸入的驅動的所述 鏡像建立設備的所述存儲器創(chuàng)建所述磁盤鏡像。
36. 根據(jù)權利要求35所述的設備,其中所述安裝所述多個應用包括安裝至少一個第三 方應用和安裝至少一個初始設備制造商(OEM)應用。
【文檔編號】G06F9/445GK104094225SQ201280068296
【公開日】2014年10月8日 申請日期:2012年8月15日 優(yōu)先權日:2011年11月28日
【發(fā)明者】M·馬盧爾, J·班達卡, S·圖科爾 申請人:韋斯技術有限公司