作者:gooogleman 时间:2011.08.05
以前的SQLCE3.5 都是以cab包的形式安装在wince5.0 PDA上的,但是我们PDA考虑到系统的稳定性,就采用了ram文件系统(实际证明rom文件系统稳定性比较差),所以cab 安装好以后PDA关机,那么cab 就必须重新安装。后来公司要求把这个SQLCE3.5直接打进NK。开始以为增加SQLCE3.5 很简单,因为cab 无非就是一些dll 和一些注册表信息,并且微软貌似自带SQL组件了,选上不就得了?!尤其是惊喜的发现SQL Compact 居然就是和SQLCE3.5 相关的,真是不是一般的惊喜。于是我选上SQL compact 组件,sysgen一下,用程序测试一下,发现没用。这下只能想别的办法了,于是把SQLCCE3.5 的cab包装上,发现多了什么dll 以及相关注册表,直接打进内核,居然OK了!不过有重要一点,即使把CAB的东西打包到内核 SQL compact 组件也必须选上,否则是无法使用的,关于这点我也百思不得其解,不过这样相当于两部分SQL 相关的东西,在打包的时候会提示:
Warning: Found duplicate entry 'sqlceca35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlceca35.dll NK 00000001' ... skipping
Warning: Found duplicate entry 'sqlcecompact35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlcecompact35.dll NK 00000001' ... skipping
Warning: Found duplicate entry 'sqlceme35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlceme35.dll NK 00000001' ... skipping
Warning: Found duplicate entry 'sqlceoledb35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlceoledb35.dll NK 00000001' ... skipping
Warning: Found duplicate entry 'sqlceqp35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlceqp35.dll NK 00000001' ... skipping
Warning: Found duplicate entry 'sqlcese35.dll C:\WINCE500\platform\2440A\Files\SQLCE3_5\v3.5\sqlcese35.dll NK 00000001' ... skipping
Found duplicate entry ——很明显是 bib文件重复了,好,那我找到工程目录下的sqlcompact.bib ,清空,然后再打包系统,SQLCE3.5 就这么成功加入我的的wince5.0 PDA了。