Tutorial :handling persistent storage and cold boots with ce 4.2


I have spent all Friday and Saturday on this and I am running out of ideas;

I have a project where I need to run sql ce and .net2.0 on a symbol 8146 device running windows ce4.2 (windows mobile 2003) along with the symbol libraries that are needed for my application.

When the device is cold-booted everything in the user partition is deleted. In the past I have used the symbol memcapture utility to solve this, but this time it says there is not enough space on the device.

The problem is that the 8146 only has a little over 7 MB of non-volitial storage and I need to restore 10-12 MB woth of data (so far)

Has anybody else ran into this and solved it? I am thinking I need to write a small app that runs when the device boots and checks status of everything, then if needed copies stuff from a compact flash card back into main memory.

I do not know how to programaitcly access the CF card however so I am sort of stumped.

There is also two apps from symbol that sound like they may help: regmerge.dll and copyfiles - they only run on a cold boot.

There is only 10.2 megabytes of stuff that needs to persist, I know I can solve this somehow!

I will call symbol tech support Monday morning and post whatever solution (if any) I come up with here as well.

Any thoughts in the mean time?



Update: I have ordered a CF card overnight for it and Motorola has opened up a case - I should have something more Tuesday.


Will the devices always be connected?

You may want to consider not trying to keep everything on the device itself and write a small boot strapper program that will contact a web server over the wireless network to bring down the rest of the program/data files.

Alternatively, you can ask Symbol/Motorala about AirBeam. AirBeam is their package deployment solution. On each boot of the device, it will check for updates to the packages.

If you really require the device to re-build when it is offline, you will need to use the Compact Flash card route that you mentioned above along with a bootstrap program that will ensure that each of the items you need are installed.


Can you compress the data any further?


The following is a small batch file that should take care of this, note you may have to chagne the path names:

enter code here  

REM ----------------------------
REM Install the Symbol Libraries:
REM ----------------------------
IF NOT EXIST "\Windows\AppMgr\Symbol Managed Class Libraries.DAT" copy "\Storage Card\symbol.all.arm.cab" \Temp\symbol.all.arm.cab IF EXIST \Temp\symbol.all.arm.cab \windows\wceload.exe /noaskdest \Temp\symbol.all.arm.cab

REM ----------------------------
REM Install the .NET Framework 2.0
REM ----------------------------
IF NOT EXIST "\Windows\AppMgr\Microsoft .NET CF 2.0.DAT" copy "\Storage Card\NETCFv2.wce5.armv4i.cab" \Temp\NETCFv2.wce5.armv4i.cab
IF EXIST \Temp\NETCFv2.wce5.armv4i.cab \windows\wceload.exe /noaskdest \Temp\NETCFv2.wce5.armv4i.cab

I will not be able to test this until I get a compact flash card (on order - best buy had one local for 149.00 .. naaa...)


Please note that I am not sure if you will need to ensure you have the command processor on the deivce - I will comment here after I have tested / verivfied everything.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »