我制作了一个应用程序,我把它放在Win CE(Compact Flash卡)的硬盘上。我的问题是该应用程序使用的是SQL Server CE 3.5数据库,但看起来该图像是使用SQL Server CE 3.0创建的。当我开始构建图像时,我无法选择3.5版本。
每次调试应用程序时都会部署3.5版dll,因此问题永远不会出现在开发阶段。
现在,当应用程序启动时(它在OS启动时自动启动),弹出带有异常的消息窗口,并且不让应用程序启动。我的问题是如何将SQL Server CE 3.5安装到映像中,或者如何在以后或每次启动时使用CAB文件安装它。
当我在运行的OS系统上运行正确的CAB文件(三个CAB)时,它会安装3.5版本并且我的应用程序启动但是当我再次重新启动操作系统时,更改不会保存并提交。必须有一个解决方案,在构建映像之前在目录中添加3.5版本,或者在每次启动时安装它,或者在第一次启动后永久安装它的最后一个选项。
如果你能在每次系统启动时为我提供安装CAB的解决方案它对我有用,但考虑到我必须在系统启动时运行将使用SQL Server CE 3.5数据库的应用程序所以CAB的安装必须先于应用程序自动启动。
提前致谢。
答案 0 :(得分:1)
您有几个选择。最不可取的是在启动时运行CAB。
如果可以,可以选择将最新的SQLCE二进制文件放入操作系统。如果您已安装所有已更新的QFE ,则可在目录中找到。无论出于何种原因,如果您无法安装QFE,您始终可以在%WINCEROOT%\OTHERS\SQLCOMPACT
替换源自二进制文件的Platfrom Builder。
另一种选择是在应用程序部署中包含所有SQLCE二进制文件。您不需要CAB,只需将DLL放在您的应用程序文件夹中(如果您采用此路由以防止本机DLL冲突,则从操作系统中删除SQLCE是一个好主意)。这些二进制文件的来源位于%PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices
。这实际上是我喜欢的路由,因为对SQLCE的更新不需要新的操作系统。