天天看點

關于WinCE6.0更新檔包的一點說明

      這兩天在論壇裡又看到有人在問R3的安裝步驟,實際上R3的安裝就是PB6.0更新檔的安裝,隻是在安裝的時候要注意各個更新檔的安裝順序。如果搞亂了順序,最後編譯會出問題,我第一次安裝R3時就碰到過。後來歇了幾個月,被逼無奈才又硬着頭皮去嘗試。

      具體的安裝步驟請參考前篇,如果正确的安裝下來,至少保證能正常編譯。這裡針對WinCE6.0的更新做一點補充說明,供大家參考。

      每個月的月初,微軟會針對不同的平台釋出一個更新檔,其中包括了上個月的關鍵更新,以解決一些已知的問題,這就是所謂的“Monthly Update”。曾經,這也是WinCE相對于其他嵌入式作業系統的一個優點。現在風行的Android似乎更新也挺頻繁,難道是在學WinCE。到年末時,微軟會把全年12個月的更新檔打包在一起,釋出出來,就是所謂的“Cumulative Product Update Rollup Package”。其中全年的更新檔,一般可以放心安裝,而每月的更新檔則需要謹慎一點。一般情況下,不要追新,因為有時候釋出出來的更新檔可能會導緻一些莫名其妙的問題。本來能正常編譯的工程,打上更新檔後可能編譯時就出錯,或者編譯完成後某些功能不能用,然後下個月打更新檔時,再修複這個補出來的BUG。正是因為有這種可能性的存在,是以在安裝月更新檔時,一定要按時間的先後順序來,不能颠倒。安裝年更新檔也需遵循這個原則。但有時先釋出出來的年更新檔可以省略,因為後一年的全年更新檔包已經包括了它所有的更新。拿PB6.0來說,在安裝更新時,07年全年的更新檔可以省去,因為08年全年的更新檔已經包括了它所含的所有更新。至于能不能省,可以先檢視一下他們的說明檔案,确認他們之間是否有完全包含的關系。如果怕麻煩,就按照時間先後逐一安裝。

      R3作為PB6.0的一個超大更新檔,在安裝時隻要遵循時間先後的原則,也還是比較順利的。很多人安裝後不能用,主要問題就是安裝順序上出了錯,或者漏裝了某些更新檔。R3是2009年10月份釋出的,是以在安裝R3之前,最好先把前九個月的更新檔都安裝好。安裝R3的更新檔包之後,還需要安裝一個11月份釋出的R3 Update Rollup,接着安裝10月到12月的月更新檔,2010年的更新檔酌情安裝就可以了。

      上面說了這麼多,總結起來就一句話,先釋出的先安裝,不求最新,能用就行。

      安裝完更新檔後,需要重新編譯系統,使用“Sysgen”或者“Clean Sysgen”即可,而不必使用“Build and Sysgen”或“Rebuild and Clean Sysgen”。因為更新的更新檔包中已經包含了編譯好的lib,反而某些lib對應的源代碼有可能沒有同步更新。如果使用“Rebuild and Clean Sysgen”,那麼也就有可能失去更新的意義了。以上是我個人的總結,未必正确,歡迎指正。

      另外,PB6.0提供了一個用于檢查更新的小工具,CEUpdateCheck,我們也可以利用它來檢查更新檔的安裝情況。在VS2005的菜單中點選“工具”——“Platform Builder for CE 6.0”——“CE Update Check”,即可打開它,如下圖所示。

關于WinCE6.0更新檔包的一點說明

      根據自己的實際情況,選擇相應的項,然後點選“Verify”按鈕,稍等片刻,便可以看到結果,如下圖所示。

關于WinCE6.0更新檔包的一點說明

      可以看到,目前安裝的PB6.0的開發環境中缺少了2009年12月份的某一個更新和2010年6月份的更新檔包。在确定更新檔包的安裝情況時,需要注意每個更新的狀态說明,如上圖所示的“Status:NotInstalled”。如果出現其他的狀态訓示,那就要小心一點了,可能會有問題。

      安裝某個更新檔包之後,如果編譯不過,可以将其恢複到安裝更新檔包之前的狀态,方法也很簡單。将C:\WINCE600\Updates\Backup下對應的目錄拷貝到Public目錄下即可。不過,這種方法也隻是一種嘗試,行不行還得看運氣。

      最後說明一下,2010年6月份PB6.0的更新檔有針對裝置掉電時NAND出現異常的檔案系統的更新。打上該更新檔後,做了4000多次讀寫檔案時關機的暴力測試,NAND竟然完好無損。更新的原文說明如下:

繼續閱讀