3

我做了一个应用程序,放在 Win CE(CF 卡)的硬盘上。我的问题是应用程序使用的是 SQL Server CE 3.5 数据库,但看起来图像是使用 SQL Server CE 3.0 创建的。开始构建镜像时无法选择 3.5 版本。

每次调试应用程序时都会部署 3.5 版本的 dll,因此问题永远不会出现在开发阶段。

现在,当应用程序启动时(它会在操作系统启动时自动启动),会弹出带有异常的消息窗口,并且不要让应用程序启动。我的问题是如何将 SQL Server CE 3.5 安装到映像中,或者如何在以后或每次启动时使用 CAB 文件安装它。

当我在正在运行的操作系统系统上运行正确的 CAB 文件(三个 CAB)时,它会安装 3.5 版本并且我的应用程序会启动,但是当我再次重新启动操作系统时,更改不会保存并提交。必须有一个解决方案,在构建映像之前在目录中添加 3.5 版本,或者在每次启动时安装它,或者在第一次启动后永久安装一次的最后一个选项。

如果您可以为我提供每次系统启动时安装 CAB 的解决方案这对我有用,但考虑到我必须在系统启动时运行将使用 SQL Server CE 3.5 数据库的应用程序,因此安装的 CAB 必须在应用程序自动启动之前。

提前致谢。

4

1 回答 1

1

你有几个选择。最不希望的是在启动时运行 CAB。

一种选择是尽可能将最新的 SQLCE 二进制文件放入操作系统。如果您安装了所有更新的 QFE,则可以在目录中找到它。如果由于某种原因无法安装 QFE,则始终可以替换 Platfrom Builder 从 at 拉取的源二进制文件%WINCEROOT%\OTHERS\SQLCOMPACT

另一种选择是在应用程序部署中只包含所有 SQLCE 二进制文件。您不需要 CAB,只需将 DLL 放在您的应用程序文件夹中(如果您走这条路线以防止本机 DLL 冲突,则从操作系统中删除 SQLCE 是一个好主意)。这些二进制文件的来源位于%PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices. 这实际上是我更喜欢的路线,因为对 SQLCE 的更新不需要新的操作系统。

于 2012-04-20T13:10:35.580 回答