在wince7.0上安裝sqlce3.5

最近,由於工作需要,需要在wince 7.0 上開發一些數據庫程序,使用的周立功(http://www.zlg.cn/sitecn/modules/index.php)的M3352-N128WI + M3350_EV_BOARD。
我的開發環境是:
1.系統是xp
2. vs2008 加上了SP1
3.xp系統中安裝的是sqlserver 2005
4.wince7.0


在上一片,使用vs2008的服務器資源管理器連接sqlce3.5

在WINCE7.0 重啓前是可以的,但重啓後,在VS2008的服務器資源管理器中選擇“HX1.sdf”連接


出現




同時,在wince7.0上出現tdsserver35.exe的錯誤對話框。是什麼socket錯誤的信息。


解決辦法:

我諮詢了周立功技術支持,他們給我發過來一個ZLG SQL Server 3.5.cab,通過查看WinCE CAB Manager3.0,應該是把


這裏的文件重新打包了一下。在wince7 上安裝好之後,用vs2008的服務器資源管理器連接過去,連不上,只能在wince7上點着觸屏操作數據庫,失望。

後面想到先用sqlce.wce5.armv4i.cab裝好,編輯好之後,然後以後的系統用ZLG SQL Server 3.5.cab(如果想要,可以諮詢我),這樣是一個解決方案。還是有點不甘心,萬一還有其他的應用cab包要安裝,每次都去找周立功技術支持麻煩。有點像放棄sqlce改用sqlite,但後面想想 還是算啦。

後面,想到能不能系統啓動的時候,每次重啓的時候自動安裝sqlce.wce5.armv4i.cab,通過查找,看到一篇好的文章(http://community.psion.com/knowledge/w/knowledgebase/1175.aspx),是C#寫的代碼,我這邊改成C++的代碼(HXCAB,如果你是使用的其他公司的SDK需要改下配置,使用的時候需要改成,下載地址http://download.csdn.net/detail/ren062/7106307)。

裏面的IOCTL_PTX_IS_COLDBOOT 不能用,不知道有人用到沒這個東東。

寫完程序,使用HXCAB.exe 自動sqlce.wce5.armv4i.cab,發現安裝不上。

查看wceload.exe的說明(http://msdn.microsoft.com/en-us/library/bb158700.aspx),修改了wceload.exe的一些參數,但是還是裝不上,沒發現有什麼不對。手動sqlce.wce5.armv4i.cab,仔細看看,發現安裝的時候出現不兼容提示,用WinCE CAB Manager3.0,查看sqlce.wce5.armv4i.cab,只支持wince5 與wince 6的系統。

悲劇阿,但ZLG SQL Server 3.5.cab的包給了我提示,他們能改,我也改改看看(備註:在改之前請先備份,或者複製C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i裏面的文件到其他目錄,用複製出來的即可,防止出錯)。


裏面有個最高版本6.999改成7.999好像就不會出現兼容性提示啦。使用HXCAB.exe自動安裝,又出現問題,應該是文件在wince7的安裝路徑問題,仔細看了看ZLG SQL Server 3.5.cab,這個安裝包把路徑直接寫死,那我也就直接寫死好啦,請看上圖“文件”目錄,修改後的sqlce.wce5.armv4i.cab安裝包也在上傳的程序裏面(由於每塊板子的wince7的目錄可能不同,請自己通過WinCE CAB Manager3.0來修改到合適目錄,修改文件,修改註冊表)。




上面完成之後,還需要修改wince的註冊表,請看文檔http://blog.chinaunix.net/uid-13408389-id-2894932.html,裏面有很詳細的介紹。使用vs2008的遠程註冊表編輯器



這裏Launch80是我手動添加的(HXCAB.exe ,sqlce.wce5.armv4i.CAB必須在指定的目錄),完成之後重啓系統成功。VS2008服務器資源管理器能遠程連上。

上面工作大體完成,在實際測試中,如果系統啓動後再次點擊HXCAB.exe 自動安裝,會出現錯誤提示,應該是system.data.sqlserverce.dll,這個安裝上有問題,如果有人知道,請留言,謝啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章