如何使自定义应用程序持续重启WinCE 6.0 OS?

时间:2012-04-06 11:57:06

标签: persistence windows-ce reboot

我正在寻找有关如何设置Windows CE 6.0设计映像以集成我的自定义应用程序的解决方案。

我想在构建图像并在目标计算机上启动后才能够 从\ Hard Disk \ Program Files \ CustomApp文件夹访问我的应用程序。

另外,我要求应用程序是持久的。重启后一定不能丢失。

我知道将应用程序复制到NK.BIN中的硬盘,但如果可能的话,我想要一个解决方案,比如在Windows文件夹中添加dll或其他文件。

我将SQL CE数据库与应用程序一起使用,因此我希望数据也是持久的。

提前致谢。

1 个答案:

答案 0 :(得分:5)

如果\ Hard Disk文件夹内容不是持久性的(并且我认为它们不是因为你问这个问题),那么让应用程序“持久化”只能作为一个轻微的技巧,就像Windows文件夹的内容一样。在启动时,操作系统将扩展到RAM中,如果您已将应用程序包含在该操作系统中,它也将被解压缩。

首先,您必须将您的应用程序文件(exe,dll,所有依赖项等)包含在操作系统映像by adding them to a BIB file中。

接下来,您必须了解所有文件都会被解压缩到\ Windows文件夹中。没有例外。如果你想要它在一个不同的文件夹中,你必须use a DAT file告诉操作系统将操作系统提取到哪里。请注意,DAT文件执行复制,而不是移动,因此如果您希望在其他地方使用,则您将在设备上拥有该应用的两个副本。典型的解决方案是使用DAT文件放置快捷方式,而不是完整副本。

你问题的最后一部分是艰难的,或者可能是不可能的部分。您的数据库不会持久存在。您可以在操作系统中包含一个副本,但每次硬重置时,都会复制出构建操作系统时数据库的新副本。没有新数据能够存活下来。

要使其工作,您需要在设备上使用持久性文件存储。如果您是OEM,您可以使用任何剩余的板载存储(操作系统映像文件所在的位置)或单独安装的USB / CF / SD / HDD介质来实现。你如何做到这一点是高度硬件和BSP依赖,加上它比SO上描述的更复杂。如果不了解目标设备的任何信息,很难给你任何指针从哪里开始。 Here's a very generic starting point for Flash storage