新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Windows Embedded Standard開發(fā)初體驗(四)

Windows Embedded Standard開發(fā)初體驗(四)

作者: 時間:2010-03-10 來源:網(wǎng)絡(luò) 收藏

接下來我們就要進入創(chuàng)建組件最重要的一環(huán)了,。為什么說重要,因為這里有一個大坑,我在 產(chǎn)品組施衛(wèi)娟老師的指導(dǎo)下,花了兩周的時間才勉強爬出來,可見該坑之深。

在這里我們使用了一個現(xiàn)成的Demo,SilverlightTV作為我們的目標(biāo)文件。SilverlightTV中包含很多文件和文件夾。我們要做的第一件事,就是將所有文件拷貝到一個文件夾中。這一點非常重要,因為考慮到效率問題, 組件中的文件只能包括在同一個文件夾中。

主要提示:如果將包含子目錄的文件夾添加到組件中,組件設(shè)計器不會報錯,而要等到這個組件加入到Target Designer時,才會報文件找不到的錯誤,并且在構(gòu)建好的Image文件中,只會包括文件夾,而不會包括其中的文件。

不過,新的問題就來了,如果我的文件結(jié)構(gòu)是固定的,并且有相互的依賴關(guān)系,把所有文件都放到一個文件夾后,程序無法正常運行該怎么辦呢?我們自然有辦法,不過現(xiàn)在,還是趕緊將所有文件放在一個文件夾中吧,這個文件夾就是添加Repositories時指定的Source Path文件夾。不過千萬記清文件原來所在的文件夾,否則下一步就麻煩了。

做完這步之后,回到Component Designer中,在Files節(jié)點單擊右鍵,在菜單中選擇Add – Files in Folder,在稍后彈出的對話框中,選擇我們放置源文件的文件夾。經(jīng)過下面的處理過程之后,文件夾中所有的文件都被加入到組件中了

不過問題是,所有的文件還被放置在同一個目錄中,無法正常執(zhí)行。這時,我們要通過一個比較繁瑣的過程來解決這個問題——修改文件的目的文件夾。在右側(cè)的文件列表中,選中某一個文件,雙擊,打開文件編輯對話框:

我們打開的是一個wmv文件,我們只需要修改Destination中的目錄結(jié)構(gòu),%24%是一個轉(zhuǎn)義字符,表示C盤,我們不要去動它。根據(jù)我們文件的原始位置填寫目的文件的所在目錄就可以了。這個工作要花費一段時間,需要點耐心。

接下來,我們要添加組件的Group Memberships,表示組件在組件目錄樹中所處的位置。我們在“Group Memberships”節(jié)點上右鍵選擇“Add Group Membership”命令。在彈出的對話框中,選擇SoftwareàSystemàUser InterfaceàShells,然后選擇Shell即可。點擊OK,關(guān)閉對話框。

接下來為組件添加依賴關(guān)系。依賴關(guān)系表明該組件依賴于那些組件,當(dāng)我們添加了該組件到Target Image中時,在依賴檢查時,會將其所依賴的組件也添加到Image中。

我們選擇“Component or Group Dependency”,右鍵菜單中“Add”-“Component Dependency”,會彈出添加組件依賴對話框。

我們在“Component dependency source”選擇Database,即選擇組件數(shù)據(jù)庫中的組件。然后找到SoftwareàSystemàNetworking Communicationsà ApplicationsàInternet Explorer – Hotfix Q321232,并且確認(rèn)My Component下選擇的是“Depends on the selected component”,然后點擊Apply按鈕,添加依賴關(guān)系。

這時對話框不會關(guān)閉,所以我們還需要添加第二個,就是大名鼎鼎的

好了,到這里,我們的組件就基本完成了,哦,還忘了件事,添加。不過請大家注意的是,并不是每個Silverlight組件都需要添加項,是因為SilverlightTV這個組件中調(diào)用了ActiveX,IE中會有安全限制,所以我們才通過修改的方式來規(guī)避這個問題。關(guān)于IE安全限制的問題,我們后邊會專門說明,在這里大家只要了解如何為組件添加注冊表項就可以了。

在Component Designer中選擇Registry Data,右鍵菜單中選擇添加注冊表項。我們可以點擊Key name后邊的Browse按鈕,在注冊表中定位要添加的項。我們要添加的項為:

HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainFeatureControlFEATURE_LOCALMACHINE_LOCKDOWN

中的“iexplore.exe”項,值為DWORD,設(shè)置為0。

大家一看就知道這個選項是與IE有關(guān)的,至于什么關(guān)系,我們先賣個關(guān)子,稍后再說。先點擊OK,關(guān)閉注冊表編輯對話框。

好了,到這里我們支持Silverlight的Shell組件終于編輯完成了。好的,趕緊保存一下吧。不過,我們怎么在Target Designer里使用這個組件呢?

這就要看下一節(jié)的了……



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉