概述 本文介紹了Windows Embedded Standard 2009和Windows Embedded Standard 7在組件化、工具和映像構建流程等方面的部分不同。目的是使用戶(hù)深入了解這兩款嵌入式產(chǎn)品之間的差異,以及這兩款產(chǎn)品在創(chuàng )建和部署嵌入式設備映像時(shí)在功能、工具和用戶(hù)整體體驗方面的部分不同。 組件化對比 本文將比較Windows Embedded Standard 2009和Windows Embedded Standard 7在以下方面的不同: ·組件架構 ·功能集包 ·驅動(dòng)程序包 ·語(yǔ)言包 ·組件依賴(lài)關(guān)系 ·宏組件與模板 ·SMI(Settings Management Infrastructure,設置管理架構)的設置與配置設置 ·嵌入式功能(EEFs) ·客戶(hù)化組件支持 ·組件架構 Windows Embedded Standard 2009和Windows Embedded Standard 7具有相似的組件化概念,即將注冊表信息、依賴(lài)關(guān)系和其他資源定義在一個(gè)統一的二進(jìn)制文件集中,所有這些數據都作為一個(gè)集合安裝在運行的映像中。但是,兩款產(chǎn)品在組件實(shí)現和使用上是不同的。 對于Windows Embedded Standard 2009而言,其組件的實(shí)現是從頭開(kāi)始的。因為Windows Embedded Standard 2009從Windows XP Pro繼承來(lái)的二進(jìn)制文件并未進(jìn)行組件化。因此,Windows Embedded Standard 2009的組件無(wú)法與包括Windows Embedded Standard 7在內的新推出的操作系統兼容。此外,這些組件只是用來(lái)導入到用于開(kāi)發(fā)的Windows Embedded Standard 2009的組件數據庫中,而無(wú)法導入到嵌入式設備中。要為這些設備提供服務(wù),需要OEM開(kāi)發(fā)人員使用更新后的組件重新創(chuàng )建整個(gè)運行時(shí)的映像。 Windows Embedded Standard 7的組件繼承自Windows 7,這些組件都列在組件清單上。除了個(gè)別的是為了滿(mǎn)足某些嵌入式的特殊需求而沒(méi)有包括在Windows 7中,其他的都與Windows 7清單一樣。因此,Windows Embedded Standard 7與Windows 7的設計完全兼容。組件更新升級與Windows 7也相似,僅需創(chuàng )建一個(gè)嵌入式開(kāi)發(fā)的專(zhuān)用更新包,用戶(hù)可將該更新包導入部署在OEM開(kāi)發(fā)人員計算機上的Windows Embedded Standard 7分發(fā)共享目錄(distribution share)中,或直接安裝到嵌入式運行映像上。 Windows Embedded Standard 7與Windows Embedded Standard 2009在組件設計上的另一個(gè)不同之處體現在嵌入式核心(eCore)這一概念上。eCore包括一系列操作系統基本組件(內核、網(wǎng)絡(luò )、安全、某些驅動(dòng)程序等),這些基本組件用于引導有系統安全和網(wǎng)絡(luò )功能的嵌入式設備。eCore是嵌入式設備的最小映像,支持OEM開(kāi)發(fā)人員在其上面添加其他功能集、驅動(dòng)程序和語(yǔ)言包,本文將在下面對此進(jìn)行討論。 功能集包 對于Windows Embedded Standard 2009,當用戶(hù)創(chuàng )建自己的設備映像時(shí),需要在組件的層面上選擇功能集包。甚至某些重要功能(如,Windows Media Player、Windows Internet Explorer、Microsoft Remote Desktop Protocol等)都是作為組件實(shí)現的,這是因為這些功能是由大量二進(jìn)制文件聚集而成。因此,組件和功能的區分不很明顯。此外,由于Windows Embedded Standard 2009有1萬(wàn)多個(gè)組件,因此用戶(hù)如何從中選擇合適的組件創(chuàng )建自己的映像成為一種挑戰。 對于Windows Embedded Standard 7,創(chuàng )建功能集包的目的是聚合相關(guān)的組件(如,Windows Media Player、Windows Internet Explorer、Microsoft Remote Desktop Protocol等),OEM開(kāi)發(fā)人員只需選擇他們所要部署的功能集即可。由于要將功能集包的數量保持在最低水平(約為150個(gè)),所以功能選擇流程更簡(jiǎn)單,設計和創(chuàng )建設備映像也更容易。 驅動(dòng)包 在Windows Embedded Standard 2009中,每個(gè)驅動(dòng)程序都作為獨立組件實(shí)現,共有約9000個(gè)獨立的驅動(dòng)程序,對OEM開(kāi)發(fā)人員而言,將這些驅動(dòng)程序與相應的硬件設備配在一起是一項重大的挑戰。 與功能集包類(lèi)似,Windows Embedded Standard 7也提供包層面的驅動(dòng)程序。但是,為了降低程序的大小,各驅動(dòng)程序都是以獨立的包的形式提供,只有一個(gè)例外是USB 驅動(dòng)程序,此外,我們還提供了一個(gè)可選的支持USB 啟動(dòng)的驅動(dòng)程序包。。實(shí)際上,這些驅動(dòng)程序包與Windows Embedded Standard 2009中的各個(gè)驅動(dòng)程序組件相似。 indows Embedded Standard 7放棄了Windows 7中部分陳舊的驅動(dòng)程序,創(chuàng )建了大約400個(gè)獨立的驅動(dòng)程序包。此外,嵌入式核心(eCore)中還包括了約100個(gè)驅動(dòng)程序的列表,能夠滿(mǎn)足例如系統引導、網(wǎng)絡(luò )通信等基本需要。 總體而言,Windows Embedded Standard 2009和Windows Embedded Standard 7的驅動(dòng)程序基本相似,但Windows Embedded Standard 7中的驅動(dòng)程序數量明顯減少,而且eCore中還包含了部分基本的驅動(dòng)程序。 語(yǔ)言包 Windows XP并不是由語(yǔ)言中性的組件組成,所以,它不支持將單個(gè)語(yǔ)言包安裝在一個(gè)語(yǔ)言中性的操作系統上。每個(gè)操作系統二進(jìn)制文件必須對不同的語(yǔ)言進(jìn)行本地化,以滿(mǎn)足不同國家和地區的需要。這種設計不僅使錯誤修復、測試和OS組件服務(wù)復雜化,而且對需要多種語(yǔ)言支持映像的終端設備而言,還大大增加了操作系統的大小。Windows Embedded Standard 繼承了Windows XP相同的語(yǔ)言設計,但是,它額外提供了非英語(yǔ)的語(yǔ)言資源包,從而使得用戶(hù)能夠選擇是否創(chuàng )建一種或多種語(yǔ)言的設備映像。盡管如此,這并未解決上述的錯誤修復和OS組件維護復雜、占用內存太大等問(wèn)題。 Windows Embedded Standard 7繼承了與Windows 7相同的支持語(yǔ)言中性的設計模型,可以將不同的語(yǔ)言包安裝在同一個(gè)語(yǔ)言中性的操作系統上。那些存在于Windows XP和Windows Embedded Standard 2009中的問(wèn)題在這得到了改善。與Windows 7一樣,Windows Embedded Standard 7提供了多達36個(gè)完全本地化的語(yǔ)言包(LP),但實(shí)際安裝的LIP語(yǔ)言包(language-interface package)的數量取決于用戶(hù)的需求。此外,Windows Embedded Standard 7中的某種語(yǔ)言包只包含與功能和驅動(dòng)程序包(及Embedded core)中的語(yǔ)言中性組件相對應的某種語(yǔ)言資源文件,從而,與Windows 7相比,大大減小了包的大小。語(yǔ)言包更小,使得OEM開(kāi)發(fā)人員可根據具體需求,更容易地在專(zhuān)業(yè)設備上部署各種語(yǔ)言包。 組件依賴(lài)關(guān)系 Windows Embedded Standard 7采用了與Windows Embedded Standard 2009類(lèi)似的組件依賴(lài)關(guān)系概念。與Windows Embedded Standard 2009不同,Windows Embedded Standard 2009的依賴(lài)關(guān)系表現在組件層面,Windows Embedded Standard 7則表現在功能集包層面。如下表所示,Windows Embedded Standard 2009和Windows Embedded Standard 7的依賴(lài)關(guān)系類(lèi)型相似。 宏組件與模板 在Windows Embedded Standard 2009中,為滿(mǎn)足安裝某些功能或應用的依賴(lài)關(guān)系,可應用宏組件,或將宏組件導入組件數據庫中。宏組件可指定某些配置設置,以及任何所需的和/或可選的依賴(lài)關(guān)系。宏組件的安裝與標準組件類(lèi)似,但宏組件中不包含任何文件。因此,OEM開(kāi)發(fā)人員可使用(如Target Designer等)嵌入式工具修改配置的設置。 Windows Embedded Standard 7中也采用了類(lèi)似的概念。有一個(gè)模板是用于滿(mǎn)足特定功能或應用的安裝。該模板詳細列出了一系列的功能集包,這些包對于這類(lèi)功能或應用來(lái)說(shuō)是必需的。但是,模板的安裝方式與標準功能集包的安裝方式不太相同,它不允許使用(例如映像配置編輯器,ICE)等嵌入式工具更改配置設置。 SMI設置與配置設置 在Windows Embedded Standard 2009中,用戶(hù)可以使用組件指定配置設置(例如,定義防火墻端口等),系統支持OEM開(kāi)發(fā)人員使用Target Designer設定所需的設置值。這些設置使用HTML作為用戶(hù)界面應用到組件wrap per文件(或SLD),這些設置可修改某些特定功能的運行(例如,啟用或禁用防火墻端口)。 在Windows Embedded Standard 7中,OEM開(kāi)發(fā)人員可以通過(guò)ICE控制的唯一設置是從Windows 7繼承來(lái)的組件中可見(jiàn)和可變的SMI設置。此外在功能集包層面沒(méi)有任何其他設置可執行。因此,功能的某些操作是不可見(jiàn)的,或者是不能定義為組件層的SMI設置,不能進(jìn)行修改(例如,設置防火墻端口)。換言之,Windows Embedded Standard 7的OEM開(kāi)發(fā)體驗與Windows Embedded Standard 2009大相徑庭。 嵌入式功能(EEFs) 在Windows Embedded Standard 2009中,EEFs與其他組件的實(shí)現方式相同。與之類(lèi)似的是,在Windows Embedded Standard 7中,EEFs的實(shí)現方式與其他功能集相同。在EEFs方面,除下表給出的少數例外,Windows Embedded Standard 7基本與Windows Embedded Standard 2009相同 。 自定義組件支持 在Windows Embedded Standard 2009中,OEM開(kāi)發(fā)人員可通過(guò)創(chuàng )建適用的二進(jìn)制文實(shí)現適用的SLD文件自定義組件,然后將組件導入組件數據庫。這樣,這些客戶(hù)化的組件就具有擴展功能并可被集成到開(kāi)發(fā)平臺,使用(例如Target Designer等)嵌入式工具為用戶(hù)提供無(wú)縫的體驗。 由于OEM開(kāi)發(fā)人員無(wú)法在Windows Embedded Standard 7中創(chuàng )建自定義組件或功能集,所以對于嵌入式包和開(kāi)發(fā)平臺,他們的體驗會(huì )有所不同。然而,OEM開(kāi)發(fā)人員可以創(chuàng )建自定義的功能(包括第三方驅動(dòng)程序),放入到分發(fā)共享目錄中的“$OEM $”文件夾。這樣可以支持OEM開(kāi)發(fā)人員將自定義功能加入嵌入式運行時(shí)映像,或將它們作為配置集重新分發(fā)。但如果使用這種方法,自定義功能不能表示與Windows Embedded Standard 7功能集的任何依賴(lài)關(guān)系,系統中也沒(méi)有基于工具的機制可改變設置。 滿(mǎn)足嵌入式需求/場(chǎng)景的可修改的Windows 7操作 如上所述,Windows Embedded Standard 2009 與Windows Embedded Standard 7除在組件化方面有所不同外,為更好滿(mǎn)足嵌入的需求,Windows 7功能的某些操作也作了修改。如下表所示,大多數操作的修改是通過(guò)SMI設置完成的。 映像創(chuàng )建進(jìn)程的比較 創(chuàng )建Windows Embedded Standard 操作系統的過(guò)程可分解為以下步驟: 1.設備分析——確定目標計算機上有哪些設備,并添加驅動(dòng)程序,支持這些設備。 2.配置——向操作系統添加所需的包,并配置所有關(guān)聯(lián)設置。 3.創(chuàng )建——形成設備的操作系統。 4.自定義 ——向操作系統添加任何第三方文件或程序。 5.捕獲——將操作系統捆綁到一個(gè)聚合單元中,用于重新部署至其他設備。 6.部署——將預先配置的操作系統安裝到一臺或多臺設備上。 下面的兩張圖表概括了Windows Embedded Standard 2009和Windows Embedded Standard 7映像的創(chuàng )建過(guò)程。 對照上述各步驟,本文逐步討論了Windows Embedded Standard 2009和Windows Embedded Standard 7開(kāi)發(fā)流程的差異。 設備分析 在Windows Embedded Standard 2009中,設備分析是使用Target Analyzer(Tap.exe)程序完成的。建議OEM開(kāi)發(fā)人員在其設備上啟動(dòng)Windows預安裝環(huán)境(PE)并運行Tap.exe。默認情況下,Tap.exe將生成一個(gè)Devices.pmq文件,該文件將列出目標設備上的所有硬件。 可在得到Devices.pmq文件后,使用Target Designer導入該文件。系統會(huì )自動(dòng)把設備映射到驅動(dòng)程序上,將包含這些驅動(dòng)程序的組件添加到配置中。 Windows Embedded Standard 7的設備分析與此類(lèi)似,但進(jìn)行了簡(jiǎn)化。Windows Embedded Standard 7同樣利用Target Analyzer創(chuàng )建Devices.pmq文件。但運行Tap.exe的流程更加簡(jiǎn)單。 如果用戶(hù)使用Image Builder Wizard(映像構建向導,IBW)開(kāi)發(fā)映像,則Tap.exe自動(dòng)在后臺運行,系統會(huì )自動(dòng)把設備映射到驅動(dòng)程序包上。由于IBW是在目標設備上執行的,所以不用作為創(chuàng )建配置前的單獨步驟,可直接在創(chuàng )建時(shí)間前對目標硬件進(jìn)行分析。 用戶(hù)使用ICE開(kāi)發(fā)映像時(shí),設備分析過(guò)程幾乎與Windows Embedded Standard 2009完全相同。Tap.exe既可從Windows PE運行,也可從IBW的磁盤(pán)運行。接下來(lái),OEM開(kāi)發(fā)人員可將Devices.pmq文件導入ICE。在ICE中,各設備將被映射到驅動(dòng)程序包,并添加到配置中。 配置 在Windows Embedded Standard 2009中,映像配置在Target Designer工具上完成。Target Designer是一個(gè)在OEM開(kāi)發(fā)人員的計算機上運行的應用程序,可提供一個(gè)用于創(chuàng )建Windows Embedded Standard 2009 操作系統的IDE。OEM開(kāi)發(fā)人員可創(chuàng )建新配置,并將其添加到驅動(dòng)程序、軟件和嵌入式功能組件中,創(chuàng )建自己的自定義操作系統。開(kāi)發(fā)人員還可以添加宏和模板組件,這些宏和模板組件可包含各種組件二進(jìn)制文件和設置的組合。此外,開(kāi)發(fā)人員還可選擇編輯與操作系統或其組件相關(guān)的設置。 添加基本組件后,OEM開(kāi)發(fā)人員必須解決依賴(lài)關(guān)系問(wèn)題。系統將自動(dòng)檢查添加到配置中的組件,并添加操作系統功能所需的任何其他組件。解決依賴(lài)關(guān)系問(wèn)題后,開(kāi)發(fā)人員可將配置保存為.slx文件,該文件用于創(chuàng )建操作系統映像。 在Windows Embedded Standard 7中,存在兩種相互之間有關(guān)聯(lián)的開(kāi)發(fā)體驗。IBW是一個(gè)基于向導的開(kāi)發(fā)工具,支持用戶(hù)快速、簡(jiǎn)便地對樣機設備進(jìn)行配置。ICE與Target Designer類(lèi)似,支持OEM開(kāi)發(fā)人員完全控制其操作系統的各個(gè)方面。 IBW是一個(gè)在目標設備上運行的安裝向導,可自動(dòng)檢測系統中的設備,并安裝相應的驅動(dòng)程序。OEM開(kāi)發(fā)人員可以從模板配置入手,或手動(dòng)選擇他們希望添加到操作系統中的功能包。解決依賴(lài)關(guān)系并完成配置后,IBW就可以將操作系統直接安裝到設備上。 ICE與Target Designer的相似之處在于,ICE是一種在OEM開(kāi)發(fā)人員的計算機上運行的IDE體驗。開(kāi)發(fā)人員可以向配置中添加驅動(dòng)程序、軟件和EEF包,可以向配置中添加作為起始點(diǎn)的模板,還可以添加一系列功能。此外,開(kāi)發(fā)人員還能修改操作系統的設置,解決依賴(lài)關(guān)系問(wèn)題。 OEM開(kāi)發(fā)人員完成所需的配置后,可將配置保存到應答文件中。該文件列出了所有要安裝的功能或驅動(dòng)程序包包和需要進(jìn)行設置的配置?蓪鹞募䝼魉椭罥BW,由此創(chuàng )建操作系統。 在Windows Embedded Standard 2009中,操作系統的創(chuàng )建是在OEM開(kāi)發(fā)人員的計算機上完成的。OEM開(kāi)發(fā)人員可在Target Designer中完成配置后創(chuàng )建映像。Target Designer在開(kāi)發(fā)人員指定的位置創(chuàng )建一個(gè)操作系統文件夾結構,并使用目標操作系統的二進(jìn)制文件和注冊表配置單元填充該文件夾結構。然后,OEM開(kāi)發(fā)人員可將這些文件復制到目標設備的磁盤(pán)上。系統引導目標設備時(shí),Windows Embedded Standard 2009通過(guò)首次啟動(dòng)代理(FBA),由FBA完成操作系統的最終安裝。完成FBA后,操作系統即可投入使用。 在Windows Embedded Standard 7中,操作系統的創(chuàng )建完全在目標設備上進(jìn)行。無(wú)論是IBW和ICE配置方法,配置工作都在IBW工具上最終完成,從而實(shí)現操作系統的創(chuàng )建。IBW首先在設備上安裝基本操作系統,然后安裝所選的包,并應用所有配置設置;景惭b完成后,設備將重新啟動(dòng)到安裝的操作系統。然后,與FBA非常相似,完成操作系統的最終安裝后,操作系統即可投入使用。 自定義 在Windows Embedded Standard 2009中,OEM開(kāi)發(fā)人員可以通過(guò)多種方式向配置中添加第三方應用程序。第一種方法是使用Component Designer工具。這種方法允許開(kāi)發(fā)人員創(chuàng )建自定義組件。這些自定義組件可包含自定義文件、應用程序或驅動(dòng)程序的注冊表項,以及其他組件依賴(lài)關(guān)系的列表。這些組件被導入組件數據庫,并在Target Designer中可見(jiàn)。這樣,OEM開(kāi)發(fā)人員可以創(chuàng )建永久組件,永久組件的操作與操作系統的其他部分類(lèi)似,可由多種配置共享。此外,自定義組件還支持版本修訂控制。如果開(kāi)發(fā)人員不希望使用自定義組件而向某個(gè)配置添加第三方文件或注冊表項,Target Designer還支持使用Extra Files、Extra Registry Data或Extra Resources節點(diǎn)將其他文件和資源手動(dòng)添加到配置中。使用該配置時(shí),這些文件將安裝到設備上,但使用其他配置時(shí),這些文件將無(wú)法安裝到設備上,也無(wú)法進(jìn)行版本控制。 Windows Embedded Standard 7中沒(méi)有Component Designer(組件設計)工具。Windows Embedded Standard 7使用$OEM$文件夾的概念將第三方文件加入目標映像。如果必須通過(guò)安裝程序安裝第三方文件,則用戶(hù)可在安裝過(guò)程中使用同步命令執行安裝程序。$OEM $文件夾不支持依賴(lài)關(guān)系或內置的版本控制功能。但用戶(hù)可以創(chuàng )建模板,將功能包組合到一起,然后按照文件版本的不同區分文件夾。 捕獲 在對所需映像進(jìn)行配置,并創(chuàng )建到設備上以后, OEM開(kāi)發(fā)人員可能需要捕獲映像,用于日后在多臺設備上部署相同配置。 在Windows Embedded Standard 2009中,OEM開(kāi)發(fā)人員必須在捕獲操作系統映像前使用包含Fbreseal.exe的系統克。⊿ystem Cloning)工具。在安裝過(guò)程中,每次安裝都具有唯一性。Fbreseal.exe可去除任何唯一標識符,以便這種安裝可以復制到多臺計算機上。運行Fbreseal.exe后,OEM開(kāi)發(fā)人員可使用第三方工具捕獲映像,供日后部署時(shí)使用。Windows Embedded Standard 2009還對Sysprep提供有限支持。Sysprep僅用于為使用系統中心配置管理器操作系統部署方法(System Center Configuration Manager’s Operating System Deployment)而準備映像時(shí)使用。 在Windows Embedded Standard 7中,OEM開(kāi)發(fā)人員使用的是Sysprep,而不是Fbreseal.exe。Sysprep的功能與Fbreseal.exe類(lèi)似,可生成映像,以便可以捕獲映像,并用于重新部署。Sysprep具有強制被部署的操作系統進(jìn)入Out of Box Experience (OOBE) 或Audit模式,支持最終用戶(hù)配置操作系統設置,以及OEM開(kāi)發(fā)人員確保在向最終用戶(hù)發(fā)布設備前已完成了全部預設置工作。用戶(hù)也可將無(wú)人值守安裝應答文件傳遞到Sysprep,以便系統執行其他命令或對設置進(jìn)行配置。 運行Sysprep后,用戶(hù)即可使用ImageX捕獲映像用于重新部署。ImageX可將目標磁盤(pán)的全部?jì)热莶东@到Windows Imaging(WIM)文件中。WIM文件是基于文件的,可進(jìn)行大規模壓縮。對于重復的文件,系統只在WIM文件中存儲一次,這樣同一文件的多個(gè)副本不會(huì )顯著(zhù)增加WIM文件的大小。此外,一個(gè)WIM文件可存儲多個(gè)類(lèi)似的映像;只有多個(gè)映像之間的差異才會(huì )增加WIM文件的整體內存占用。 部署 生成并捕獲映像后,即可在產(chǎn)品計算機部署映像。根據環(huán)境的不同,OEM開(kāi)發(fā)人員可能需要重新在一臺、數臺,乃至成千上萬(wàn)臺設備上重新部署映像。應針對不同場(chǎng)景,采取不同的部署方法。 Windows Embedded Standard 2009中沒(méi)有專(zhuān)門(mén)針對重新部署流程提供幫助的工具。進(jìn)行小批量重新部署時(shí),OEM開(kāi)發(fā)人員可簡(jiǎn)單地將操作系統文件復制到目標設備的磁盤(pán)上。大批量重新部署則需借助第三方工具。 微軟在Windows Embedded Standard 7中提供了多種部署選項。第一種方法是使用ImageX。ImageX不僅可將文件捕獲為WIM文件格式,而且還可將WIM文件部署到目標磁盤(pán)上。OEM開(kāi)發(fā)人員可使用ImageX手動(dòng)部署WIM文件,或使用ImageX編寫(xiě)腳本,進(jìn)行自動(dòng)部署。 對于小批量部署的第二種方法是通過(guò)IBW進(jìn)行。用戶(hù)可以使用IBW查看WIM文件并完成安裝。除進(jìn)行標準WIM部署外,IBW還可以向正在安裝的映像中添加語(yǔ)言包,用戶(hù)甚至可以利用IBW將無(wú)人參與文件應用到映像。 最后,OEM開(kāi)發(fā)人員可以為了部署Windows Embedded Standard 7映像,而設置Windows Deployment Services(WDS)或System Center Configuration Manager服務(wù)器。WDS和Configuration Manager支持面向多個(gè)設備進(jìn)行大規模部署,Windows Embedded Standard 7對它們提供全面支持。 開(kāi)發(fā)流程各階段所用工具總結 |